Ithy

JSON formatter and syntax validator that preserves number text

Check JSON syntax and make a document easier to read. Formatting changes whitespace outside strings while preserving the written number tokens, string escapes, key order and duplicate keys. It does not round a long identifier through a JavaScript number.

Free to use, with no sign-in. Inputs and results stay in this page and are not sent with the form. Download a result before leaving; this tool does not save your work.

Enter text or data

Worked result

The JSON is valid; the integer text remains 9007199254740993.

  1. Validate the input using JSON syntax rules.
  2. Retain each string and number token exactly as entered.
  3. Insert indentation only between tokens, outside quoted strings.

Format a JSON object with a long integer

The identifier below is larger than the largest exactly representable JavaScript integer. It should not silently change during formatting.

Input:
{"name":"Ithy","values":[3,8],"id":9007199254740993}

Formatted:
{
  "name": "Ithy",
  "values": [
    3,
    8
  ],
  "id": 9007199254740993
}

Formatting can preserve a number’s spelling even when another application cannot interpret that number exactly. A consumer’s numeric model is a separate concern.

Syntax validation is different from schema validation

JSON requires double-quoted strings and property names. Comments and trailing commas are not valid JSON. A valid top-level value can be an object, array, string, number, boolean or null.

The formatter validates the syntax, then indents the original tokens rather than serializing a parsed object back into new numeric text. It deliberately preserves duplicate keys, which are a portability concern: different consumers may retain only the last occurrence.

Object: {"key": value}
Array: [value, value]
String escapes include \" and \\ and \n
Numbers do not allow NaN or Infinity literals.

Input limits and common mistakes

The input limit is 200,000 characters, nesting is limited to 64 levels, and formatted output is bounded. Syntax errors are reported rather than repaired automatically. No code is evaluated.

Valid syntax does not establish that a document matches your application’s schema, has unique keys or contains correct data. Text is rendered as text, not as executable HTML. Copying a formatted document into another application still requires trusting that application.

Questions about json formatter and validator

Will a long numeric ID be changed?

The formatter preserves its original number token. To ensure portable exact identifiers in downstream systems, consider representing IDs as JSON strings.

Does it remove duplicate keys?

No. It preserves them as written. Check your data model and consumer behavior; syntax validation alone does not enforce uniqueness.

Can it fix comments or trailing commas?

It reports them as syntax errors. It does not silently remove content or guess an intended repair.

Sources and verification

These references explain the formulas or formats. The worked examples above were created for this tool and checked against independent calculations or format round trips. AI-assisted development does not imply a named human expert review.

Published 2026-10-23. Examples are illustrations, not measurements of a service or claims about search rankings.

Related tools

CSV and JSON converter

Convert header-based CSV into JSON objects or flat JSON objects into CSV. Preserve CSV text values and handle quoted commas, quotes and multiline fields.

Base64 text encoder and decoder

Encode Unicode text as standard or URL-safe Base64. Decode valid Base64 back into UTF-8 text with explicit padding and invalid-byte checks.

Text and UTF-8 byte counter

Count UTF-8 bytes, Unicode code points, UTF-16 units, grapheme clusters, lines and whitespace-separated words. Inspect the difference with emoji.

All calculators and developer tools · Source-checked guides · How Ithy checks sources