Everything happens in your browser: no data is sent anywhere.

Paste some JSON to start.

How it works

  1. Paste your JSON into the box.
  2. If there is an error, the position appears as you type.
  3. Choose the indent and press Format, or Minify for a single line.

Why it exists

Because the error message from JSON.parse differs between browsers, and half the time it does not say where. This tool tries to say it anyway, and admits it when it cannot.

How it finds the position

In degrading levels, in this order:

  1. the line and column stated by the engine (Firefox and recent V8 write them);
  2. the absolute offset, converted by counting newlines;
  3. the fragment quoted in the message, searched for in the text, but only if it is not truncated;
  4. nothing.

The fourth level matters as much as the other three. Unexpected end of JSON input has no position, and Safari never gives one: inventing one would send you hunting for an error where there is none, which is worse than not knowing.

About your data

Everything happens in your browser. This site is made of static files and has no server to send anything to, even if it wanted one.

From here you also go here

Timestamp converter

From epoch to date and back, in seconds or milliseconds, with ISO 8601 and the time in any zone.

Development

UUID generator

Version 4 UUIDs, one at a time or in batches, in lowercase, uppercase, without hyphens or in braces.

Development

JWT decoder

A token's header and payload, with readable dates and glossed claims. The signature is not verified, and the tool says so.

Development

All tools