Code Beautifier
Reference

The developer error reference

156 parser and validation errors developers actually hit, each with the exact fix. Every entry comes from a working tool on this site, so you can paste the offending input straight into it.

JSON & Data Interchange

84 errors across 21 tools · browse JSON & Data tools

JSON Formatter4

Unexpected token } in JSON

Remove a trailing comma before the closing brace, or add the missing property that should come before it.

Unexpected end of JSON input

Your payload is truncated — check for an unclosed string, array, or object.

Unexpected non-whitespace character after JSON

Paste a single JSON value. Extra text after the root object/array is invalid.

Expected property name or '}' in JSON

Object keys must be double-quoted strings. Single quotes are not valid JSON.

JSON Validator4

Unexpected token }

Remove a trailing comma before the closing brace.

Unexpected end of JSON input

Close open strings, arrays, or objects; the payload is truncated.

Expected property name

JSON keys must use double quotes, not single quotes.

Unexpected non-whitespace character

Paste a single JSON value with no trailing commentary.

JSON to CSV4

Input must be a JSON array

Wrap objects in [{...}] or enable flattening for nested records.

Unexpected token

Fix JSON syntax first with the JSON Formatter, then convert.

Empty array

Provide at least one object so column headers can be inferred.

Nested object not flattened

Enable Flatten nested objects to expand address.city-style columns.

JSON to TypeScript4

Unexpected token

Input must be valid JSON. Format and fix syntax errors first.

Cannot infer interface from primitive

Paste an object or array of objects, not a bare string or number.

Mixed array types

Heterogeneous arrays become unions; normalize samples for cleaner interfaces.

Empty object

Provide sample fields so property types can be inferred.

JSON Schema Validator4

schema is invalid

Fix the schema document first; Ajv cannot validate data against a broken schema.

must be object

Root schema type may require an object. Wrap arrays or primitives if your schema expects them.

must have required property

Add missing required fields or remove them from the schema required array.

must match format

Format keywords like email/uri need matching strings; disable format checking only if intentional.

CSV to JSON4

Too few fields

A row has fewer columns than the header. Pad empty cells or fix the delimiter.

Unescaped quote

Wrap fields containing commas in double quotes and escape quotes by doubling them.

Unable to auto-detect delimiter

Pick Comma, Tab, Semicolon, or Pipe explicitly in Options.

No rows parsed

Ensure the paste includes a header row or disable “First row is header” for raw matrices.

XML Formatter4

Unclosed tag

Every opening tag needs a matching close tag (or self-closing form). Check the reported line/column for the mismatch.

Mismatched closing tag

Closing tags must mirror the most recent open tag. Nested elements must close in reverse order.

Invalid character in attribute value

Quote attributes and escape & < > inside text. Prefer CDATA for large raw blocks.

XML declaration after content

Move <?xml ...?> to the very start of the document with no bytes before it.

YAML to JSON4

bad indentation of a mapping entry

Align nested keys under their parent with consistent spaces (never mix tabs). Every child must be indented further than its parent.

unexpected end of the stream within a flow collection

Close all [ ] or { } flow collections. A truncated paste often leaves an unclosed bracket.

duplicated mapping key

YAML object keys must be unique at each level. Rename or merge the duplicate key.

JSON parse failed in reverse mode

When converting JSON → YAML, paste a single valid JSON value. Trailing commas and single-quoted keys are invalid JSON.

OpenAPI Formatter & Validator4

Missing OpenAPI or Swagger version

Start with openapi: 3.x.x or swagger: "2.0" at the document root.

Missing info.title or info.version

Add info.title and info.version — both are required for a valid specification.

No paths defined

Include at least one entry under paths (for example /health with an operation).

YAML/JSON parse failure

Fix indentation or trailing commas before validation. Use the YAML→JSON companion for intermediate debugging.

Markdown Table Generator4

No rows detected

Paste CSV/TSV/JSON with at least a header and one data row.

Uneven columns

Pad missing cells so every row matches the header width.

Invalid JSON array

When using JSON mode, provide an array of objects with consistent keys.

Empty header

Provide column names; GFM tables require a header row and divider.

JSON to YAML4

Expected double-quoted property name in JSON

Remove the trailing comma before a closing brace, or put double quotes around the key.

Expected ',' or '}' after property value in JSON

Add the missing comma between two properties. The error points at the start of the second one.

Unexpected non-whitespace character after JSON

Two JSON documents were pasted back to back. Wrap them in [ ] and turn on 'Array → separate documents'.

A value changed type after conversion

Unquoted 22:22, yes, no, on, or 0123 are retyped by YAML 1.1 parsers. Keep the quotes this converter adds instead of removing them by hand.

JSON Diff4

Add a === MODIFIED === line between the two JSON documents

Put === ORIGINAL === above the first document and === MODIFIED === above the second, each on its own line.

Modified JSON: Trailing comma before a closing bracket.

Fix the syntax in the document named in the message. Line numbers count from the top of the whole input, markers included.

Every array item shows as changed

An item was inserted or removed near the start of the array, and arrays compare by index. Sort both arrays by a stable field first.

Large IDs show as equal when they differ

JSON numbers beyond 2^53 lose precision in JavaScript. Store IDs such as 9007199254740993 as strings.

JSON Repair4

Colon expected

The input isn't JSON. It's often a GraphQL query or JavaScript code; use the GraphQL Formatter or JavaScript Beautifier instead.

No JSON object or array found

The input is plain text or a single value. Paste the broken JSON, including its opening { or [.

Repaired output is missing data at the end

The source was truncated, so there was nothing to recover after the cut. Copy or request the complete payload.

Duplicate keys keep only the last value

JSON parsers keep the last occurrence of a repeated key. Rename duplicates before repairing if both values matter.

YAML Validator4

bad indentation of a mapping entry

Align sibling keys with the same number of spaces, and indent children further than their parent.

duplicated mapping key

A key appears twice in the same mapping. Rename one, or merge their values.

end of the stream or a document separator is expected

Content starts where a new key was expected, often a value that continues on an unindented line. Indent it or quote the value.

tab characters must not be used in indentation

Replace tabs with spaces. Most editors can convert indentation to spaces automatically.

JSON to Zod4

Expected number, received string

Zod 3's message when an API sends "42" where the sample had 42. Use z.coerce.number() if strings are expected, or fix the producer.

Invalid input: expected number, received string

The same type mismatch in Zod 4's wording. The issue's path points at the field to check.

Required

Zod 3's message for a missing key. If the field is legitimately absent sometimes, add a sample without it so it's generated as .optional().

Unrecognized key(s) in object

Strict objects reject keys the sample didn't include. Turn off Strict objects, or add the key to the schema.

JSON to Go4

json: cannot unmarshal string into Go struct field

The payload has a string where the struct expects a number, or the reverse. Generate from a sample with the real types, or use json.Number for numbers that arrive as strings.

json: cannot unmarshal number 18.25 into Go struct field Order.total of type int64

Real data has a fractional value the sample didn't. Add a fractional sample so the field is generated as float64.

json: cannot unmarshal array into Go value of type main.Root

The JSON root is an array. Decode into the generated slice type, such as RootList, instead of Root.

json: unknown field

Decoder.DisallowUnknownFields rejects keys the struct doesn't declare. Add the field, or generate from a more complete sample.

JSON to Python (Pydantic)4

Input should be a valid integer

Pydantic v2's error when a value like "abc" or 18.25 reaches an int field. Generate from a sample with the real type, or change the annotation to float or str.

Field required

A key is missing from the data. Include a sample without it so the field is generated as Optional[...] = None.

TypeError: non-default argument follows default argument

A dataclass field without a default comes after one with a default. Keep required fields first, as the generator writes them.

Field name "json" shadows an attribute in parent "BaseModel"

Keys like json or schema clash with BaseModel methods. The generator renames them with a trailing underscore and keeps the key as an alias.

JSON to Java4

UnrecognizedPropertyException: Unrecognized field

Jackson found a key the class doesn't declare. Add the field, generate from a fuller sample, or annotate the class with @JsonIgnoreProperties(ignoreUnknown = true).

InvalidFormatException: Cannot deserialize value of type `long` from String

The payload sends a number as a string. Change the field to String, or enable coercion on the ObjectMapper.

Cannot map `null` into type `long`

A primitive field received null while FAIL_ON_NULL_FOR_PRIMITIVES is on. Use the boxed type Long, which the generator picks for nullable samples.

Expected BEGIN_OBJECT but was BEGIN_ARRAY

Gson's error when the JSON root is an array. Deserialize into List<Root> with a TypeToken.

JSON to C#4

The JSON value could not be converted to System.Int32

System.Text.Json found a string or a decimal where an int is declared. The generator uses long and double; if you changed a type, match the payload or set JsonNumberHandling.

JSON deserialization for type 'Root' was missing required properties

A required property's key is absent from the JSON. Include a sample without that key so the property is generated as nullable, or make sure the producer sends it.

CS8618: Non-nullable property must contain a non-null value when exiting constructor

Nullable reference types are enabled and a property may never be set. Mark it required, as the generator does, or make it nullable.

CS0542: member names cannot be the same as their enclosing type

A JSON key matches the class name. The generator renames the member with a Value suffix and maps it back with the attribute.

JSON to Rust4

missing field `email`

The key isn't in the data. Add a sample without it so the field becomes Option<T>, or annotate the field with #[serde(default)].

invalid type: string "42", expected i64

The payload sends a number as a string. Change the field to String, or deserialize it with a helper such as serde_with's DisplayFromStr.

invalid type: floating point `18.25`, expected i64

Real data has a fractional value the sample didn't. Include a fractional sample so the field is generated as f64.

invalid type: sequence, expected struct Root

The JSON root is an array. Deserialize into the generated Vec type, such as RootList, instead of Root.

JSON to Kotlin4

MissingFieldException: Field 'email' is required for type with serial name 'Root', but it was missing

The key isn't in the data. Include a sample without it so the property is generated as nullable with a null default.

Unexpected JSON token at offset: Encountered an unknown key

kotlinx.serialization rejects keys the class doesn't declare. Add the property, or decode with Json { ignoreUnknownKeys = true }.

Serializer for class 'Root' is not found

The class isn't marked @Serializable, or the kotlinx.serialization compiler plugin isn't applied in the Gradle build.

Required value 'email' missing at $

Moshi's error for a missing non-null property. Make the property nullable with a null default, as the generator does for optional samples.

SQL & Databases

8 errors across 2 tools · browse SQL & Databases tools

SQL Formatter4

syntax error at or near ","

Remove a trailing comma in the SELECT list or VALUES clause.

Unclosed quotation mark

Balance single quotes around string literals; escape quotes by doubling them in SQL.

Incorrect syntax near ")"

Check for an extra closing parenthesis or a missing expression before it.

Invalid column name

Verify identifiers and aliases; dialect options change how identifiers are quoted.

CSV to SQL4

ERROR: column "order" does not exist

A column name is a reserved word. The generated SQL quotes every identifier for the chosen dialect, so run the output for the database you selected rather than mixing dialects.

ERROR: invalid input syntax for type bigint

A value doesn't match the inferred type, usually because the sample rows were all numeric and the real data isn't. Convert the full file so the column widens to text.

Quoted field not terminated

A quoted CSV field is missing its closing quote, or a literal quote inside it wasn't doubled. RFC 4180 requires "" for a quote inside a quoted field.

Data truncated for column at row 1

MySQL is rejecting a value longer than the column allows. Widen the column, or change the generated TEXT type to the size your schema expects.

Security & Auth

16 errors across 4 tools · browse Security & Auth tools

JWT Decoder4

Invalid token: expected 3 parts

A JWT must have header.payload.signature separated by dots. Paste the full token.

Failed to decode Base64URL segment

The token is truncated or corrupted. Copy it again without line breaks or spaces.

Payload is not valid JSON

The middle segment must decode to JSON claims. This tool does not verify signatures.

Token appears expired

The exp claim is in the past. Decoding still works; treat the session as expired.

JWT Generator4

Invalid JSON payload

Header and payload must be valid JSON objects before signing.

Secret required

Provide an HMAC secret for HS256/384/512 generation.

Unsupported algorithm

Use HS256, HS384, or HS512 with the Web Crypto path in this tool.

exp must be a number

Use a Unix timestamp (seconds) for the exp claim.

HTTP Headers & Security Inspector4

No headers detected

Paste raw response headers from DevTools (one Name: value per line). Include the status line if available.

Low security grade

Add HSTS, CSP, X-Frame-Options (or frame-ancestors), X-Content-Type-Options: nosniff, and a strict Referrer-Policy.

CORS credentials with wildcard

Browsers reject Access-Control-Allow-Origin: * with credentials. Echo a specific origin instead.

HSTS ignored on HTTP

Strict-Transport-Security only applies over HTTPS. Serve the site on TLS before enabling preload.

Password Generator4

Password must include a special character

Turn on Include symbols. If the site rejects a specific symbol, generate again; the pool is shuffled each time.

Password is too long for this site

Lower Length to 16 or 20. Some sites silently truncate long passwords, which breaks the next login.

Spaces are not allowed in passwords

Choose the hyphen, period, or underscore separator for passphrases instead of a space.

The generated password wasn't saved

Nothing is stored here. Paste it into your password manager first, since reloading the page generates a different one.

DevOps & Configuration

8 errors across 2 tools · browse DevOps & Config tools

cURL to Code4

Unable to parse curl command

Start with curl and include a URL. Multi-line shells should keep backslash continuations intact.

Missing URL

Provide an absolute http(s) URL after curl or via -X with a location.

Unsupported option ignored

Some curl flags have no fetch equivalent; core method, headers, and body still convert.

Invalid header line

Use -H "Name: value" with a colon separating name and value.

Docker Run to Compose4

services.web.ports contains an invalid type, it should be a string

An unquoted port mapping such as 22:22 was read as a number. Keep the quotes this converter adds around every port.

services.web.environment.DEBUG must be a string

Compose rejects bare booleans and numbers in environment. Keep values quoted, as the generated file does.

docker: invalid reference format

The command isn't a valid docker run: usually the image name is missing or a flag swallowed it. Check that the image comes after all flags.

The --rm flag was dropped

Compose has no per-service equivalent. Use docker compose run --rm service for one-off containers that clean up after themselves.

Web & Markup

16 errors across 4 tools · browse Web & Markup tools

HTML Formatter4

Unclosed tag warning

Close void-safe tags properly. Prefer self-closing only where HTML allows (img, br, meta).

Attributes not wrapping

Lower Wrap line length so long class or data attributes break onto new lines.

Script/style content shifted

Embedded blocks indent with parent depth; preserve intentional template whitespace carefully.

Empty lines removed

Enable Preserve empty lines to keep section spacing between major layout blocks.

CSS Minifier4

Unexpected }

Remove an extra closing brace or restore a missing selector block.

Unclosed comment

Close CSS comments with */; unterminated comments swallow following rules.

Invalid property value

Check units and function parentheses (rgb(), calc(), url()).

Empty stylesheet

Paste CSS rules before minifying; blank input produces empty output.

JavaScript Beautifier4

Unexpected token

Check for missing commas, unclosed brackets, or truncated minified bundles before beautifying.

Unterminated string constant

Restore matching quotes. Escaped quotes inside strings must use \" or template literals.

Beautify produced little change

Confirm Mode is Beautify, not Minify. Increase indent size if output still looks dense.

JSX / TS syntax looks odd

Most ESNext and TS syntax is supported; exotic Babel plugins may need a dedicated formatter.

HTML to JSX4

Adjacent JSX elements must be wrapped in an enclosing tag

The snippet has more than one root element. This converter adds a fragment automatically; keep it, or wrap the markup in a container element.

Warning: Invalid DOM property `class`. Did you mean `className`?

Raw HTML attributes were pasted straight into a component. Convert the markup first so class, for, and tabindex are renamed.

The `style` prop expects a mapping from style properties to values

A style attribute is still a string. Converted markup writes it as an object, so replace style="..." with the generated style={{ ... }}.

Expected corresponding JSX closing tag

An element in the source was never closed. The converter closes them, so re-convert the original HTML rather than hand-editing the JSX.

Encoding, Regex & Text

24 errors across 6 tools · browse Encoding & Text tools

Base64 Encode & Decode4

Invalid Base64 character

Remove whitespace or URL-encoding artifacts, or switch to URL-safe mode if your alphabet uses - and _.

Incorrect padding

Base64 length should be a multiple of 4. Add = padding or enable automatic padding repair if available.

Decoded text is garbled

The payload may be binary. Try viewing as a data URL via the Base64 Image converter.

URI malformed

When decoding to UTF-8 text, ensure the bytes form valid Unicode.

Regex Tester4

Invalid regular expression

Check for unescaped special characters or unbalanced parentheses/brackets in the pattern.

Nothing matches

Confirm flags (especially m and s) and whether you need ^/$ anchors.

Catastrophic backtracking

Simplify nested quantifiers like (a+)+ on long inputs to avoid locking the tab.

Unicode property escapes failed

Use a modern browser; \p{…} requires Unicode-aware RegExp support.

Diff Checker4

Both sides are empty

Paste original text on the left and modified text on the right before comparing.

Diff looks noisy

Try word- or line-level mode depending on whether you care about whitespace or structure.

Huge files freeze the tab

Prefer smaller excerpts for interactive diffs; multi-megabyte comparisons belong in a local git diff.

Line endings differ

Normalize CRLF vs LF offline if the only changes are carriage returns.

QR Code Generator4

Empty input

Enter a URL or text string to encode before generating.

Input too long for selected ECC

Raise error correction or shorten the payload; dense QR codes need more modules.

Unsupported character set

Stick to UTF-8 text or URLs; binary blobs belong in specialized encoders.

SVG render failed

Retry with Medium error correction; extremely long Wi-Fi strings may need splitting.

Case Converter4

Acronyms come out as Xml instead of XML

Casing lowercases the rest of each word by design. Fix those names by hand, or use the JSON to Go generator, which keeps Go initialisms capitalized.

Accented letters disappear in a slug

Slugs keep ASCII letters and digits only, so é becomes e and other scripts are dropped. Use kebab-case to keep the original letters.

Digits stay attached to the previous word

version2Beta splits at the capital B, but user2fa has no boundary to split on. Add a separator, such as user_2fa, before converting.

Leading or trailing separators disappear

Separators are treated as word boundaries, so _private becomes private. Add the prefix back after converting.

Sort & Remove Duplicate Lines4

The output lost my blank lines

Remove empty lines is on by default. Turn it off to keep them, though sorting will group them together.

Duplicates weren't removed

The lines differ invisibly, usually by trailing whitespace or capitalization. Turn on Trim whitespace, and leave Case sensitive off.

Line endings changed after sorting

The output uses the endings the input had, and a file with mixed endings is normalized to CRLF if any CRLF is present. Normalize the file first if that matters.

Version numbers sort in the wrong order

Alphabetical order puts 1.10 before 1.9. Choose natural order, which compares the numbers by value.