JSON PARSE DIAGNOSTIC

Every JSON parse error at the line and column it broke — and what the server sent back

Paste a blob or a URL. Parsehint parses it and, when it fails, points at the exact line and column — not "unexpected token at position 4471". For a URL it also reports what the server actually sent: content-type, whether the body is JSON at all, and whether it's a JSON error object dressed as a success.

→ Open the tool How it works ↓
Parsehint app showing a JSON parse error pinpointed by an amber line-highlight at the exact line and column, with server-response metadata for content-type and error-object detection.
How Parsehint works — from input to pinpoint to server metadata INPUT PINPOINT METADATA {"name": "example", https://api.example.com Paste JSON or enter a URL 1 { 2 "name": "example" 3 "count": 42 4 "items": [ 5 "one", "two" 6 ] ! Line 3, col 12 — expected ':' Status: 200 Content-type: application/json Body is JSON → YES Error-object: DETECTED URL mode: server fetches, parses, reports

01

Pinpoint the break, not the neighbourhood

Every JSON parser tells you something broke. Parsehint tells you where and what was expected — in plain language. "Unexpected token at position 4471" becomes "Line 3, column 15 — expected a comma before this quote."

When the JSON comes from a URL, Parsehint also reports what the server actually sent: the content-type header, whether the body is JSON at all, and whether it's a JSON error object masquerading as a 200 response. A surprising share of "my API is broken" turns out to be an HTML error page with a 200 status and a JSON content-type, and nothing makes that visible until someone looks at the bytes.

For who: anyone staring at a parse error from an API they don't control and can't tell whether the bug is on their side or the server's. API integrators, backend developers, QA engineers, anyone debugging a pipeline where the JSON arrives over the network.

02

Two modes, one result

1

Paste mode — browser-local

Paste a JSON blob. Parsehint parses it in your browser with JSON.parse and extracts the exact line and column from the error. The pasted text never leaves your machine — stated on the page, and enforced by the code path.

2

URL mode — server fetch

Enter a URL. Parsehint's server fetches it, attempts to parse the response body, and returns a full diagnostic: status code, content-type, whether the body is JSON, the parse error pinpointed to line/column, and whether it detects an error object dressed as a successful response.

3

Copy the diagnosis

One click copies the full result — verdict, line/column details, server metadata — so you can paste it into a ticket or a message without retyping.

6
Line extraction patterns
(V8 parens, position, Firefox)
9
Human-readable error messages
(trailing comma, EOF, control chars)
12
URL validation checks
(loopback, private, credentials, NUL)

03

Less reading, more fixing

A typical parser error means nothing until you count bytes. Parsehint transforms it into actionable information in one line:

PASTED INPUT
{
"name": "Example"
"count": 42
}
DIAGNOSTIC OUTPUT
Parse error — Error at line 2, column 17
Expected a comma after property name — property names must be followed by a comma before the next one.

Raw: Unexpected token '"' — ';' expected after property name at position 33

The pinpoint is always the same: line, column, and what the parser actually expected there. No scrolling, no counting.

04

Free to diagnose. Paid for the edge cases.

The core tool — paste JSON and URL fetch — is free and always will be. No account, no sign-up, no limits on pastes or fetches per day. The paid tier adds features for teams and high-volume debugging.

Free
$0
Everything you need for one-off debugging.
  • Paste JSON parsing
  • URL fetch + parse
  • Line/column pinpointing
  • Server metadata report
  • Error object detection
  • Copy result
Use now

05

It will not crawl your API. It will not send email.

This tool is deliberately scoped. Knowing what it won't do is as important as knowing what it will.

06

Questions a sceptic would ask

"My browser's console already shows me the error."

The console tells you "unexpected token at position 4471" — a position in the raw byte stream, not a line and column you can navigate to. Parsehint transforms that into "Line 3, column 15". And for API responses, the console cannot show you the server's content-type header or whether the body was JSON at all — Parsehint can.

"I use an IDE with a JSON validator."

An IDE validates what you typed. It does not fetch a URL, inspect the server's response headers, or detect an error object that returned with a 200 status — which is the most common "why is my code broken?" scenario Parsehint diagnoses.

"Can I trust that my pasted JSON stays private?"

Yes. Paste parsing happens entirely in your browser — the JSON text is never sent anywhere. The page states this next to the paste area. Only URL-mode requests go to the server, and only the URL you typed is included in the request.

"Why would I pay for a JSON parser?"

The free tier covers the common case. Pro is for teams who need to check many URLs in a session, save and export results, or write custom error-message rules for their own APIs. If the free tier works for you, use it — it's not artificially limited.