Support / Help Centre

Getting started

Jsonpin is a diagnostic scanner for broken JSON. Paste a blob or a URL, and it tells you exactly where parsing fails and why — in plain language, not byte offsets.

1

Open the App page. You'll see two tabs: Paste JSON and Fetch URL.

2

Paste mode: Paste your JSON text into the editor and click Parse. The analysis runs entirely in your browser — nothing is sent to any server.

3

URL mode: Enter a URL that should return JSON and click Fetch & Parse. Jsonpin fetches the URL server-side, inspects the raw HTTP response, and reports the status, content-type, and whether the body is valid JSON.

4

If parsing fails, you'll see the exact line and column, the character that triggered the failure, and a plain-language explanation. If it succeeds, you'll see the parsed value.

Frequently asked questions

1. Why does Jsonpin say my JSON has an error when it looks fine to me?

Common causes:

  • Trailing commas — JSON does not allow a comma after the last item in an object or array ({"a":1,} is invalid).
  • Missing quotes — Object keys must be double-quoted ({"key": 1}, not {key: 1} or {'key': 1}).
  • Single quotes — JSON only accepts double quotes for strings.
  • Unescaped control characters — Tab, newline, or other control characters inside a string must be escaped (\t, \n).
  • Truncated response — If the JSON simply stops mid-structure, the server may have truncated the response. Check the body size against what you expected.

Jsonpin's error message points to the exact line and column and explains what the parser expected instead. Read the highlighted location carefully — the problem is often one character before the reported position.

2. What's the difference between Paste mode and URL fetch mode?

Paste mode runs entirely in your browser. Your JSON never leaves your device. It uses the browser's built-in JSON.parse to validate the blob and display the error.

URL fetch mode sends the URL to a Cloudflare Worker, which makes an HTTP request to that URL. The Worker inspects the raw response — status code, headers, body — and returns everything to your browser for analysis. This lets Jsonpin detect problems you can't see from a browser's dev tools: incorrect content-type headers, HTML pages returned with a 200 status, or JSON error objects dressed as successful responses.

URL mode is the tool's unique feature. It shows you what the server actually sent, not just whether it parsed.

3. Why did my URL fetch fail? / The "Cloudflare limitation" warning

If your target URL is hosted behind Cloudflare, the fetch will report a failure. This is a platform restriction of the Cloudflare Workers environment — a Worker cannot reach another Cloudflare-hosted origin. The failure tells you nothing about your network or your JSON.

Other common fetch failures:

  • Timeout: The fetch times out after 15 seconds (Starter) or 30 seconds (Professional). Some slow APIs may not respond in time.
  • DNS resolution failure: The hostname could not be resolved. Double-check the URL for typos.
  • Non-2xx status: Jsonpin reports the status code. When the status is not 2xx, every derived verdict is marked as "not established" — a 500 error tells you nothing about the JSON structure.
  • Body too large: Starter has a 100 KB cap; Professional raises it to 500 KB. Larger bodies are truncated with a notice.
4. Does Jsonpin store my data or pasted JSON?

No. See the full privacy notice for details.

  • Paste mode: Your pasted content is parsed in your browser and never sent anywhere. No server-side copy is made.
  • URL fetch mode: The URL is sent to a Cloudflare Worker, which fetches the target URL and returns the response to your browser. The Worker does not store, log, or retain the URL, the response body, or any derived analysis.
  • No cookies, no analytics, no trackers. The site has no accounts, no logins, and no persistent storage of any kind.
  • No history. Every analysis starts fresh. There is no saved history feature (it is on the roadmap for a future release).
5. How do I upgrade to Professional / access the API?

The Professional plan ($12/month) is not yet available for purchase. The checkout form on the pricing page is a demo only — it does not transmit or capture any payment data. A payment processor has not been connected to this site yet.

When the Professional plan launches, the following features will be available with a subscription:

  • Programmatic API access (/api/fetch endpoint)
  • 500 KB body size limit (up from 100 KB)
  • 30-second fetch timeout (up from 15 seconds)
  • Priority support

There is no timeline for launch yet. No accounts are created during the demo checkout, and no data is stored. If you have questions about the Professional plan's timeline, please refer to the contact section below.

6. What does "error dressed as success" mean?

Some APIs return HTTP 200 — the standard "OK" status — with a response body that contains an error object. For example:

{"error": "rate limit exceeded", "code": 429}

This is a well-known anti-pattern: the status code says everything is fine, but the content says otherwise. Many client libraries check only the status code and silently treat the response as valid data. Jsonpin detects this pattern by analysing the response body for error-like structures even when the status is 200, and flags it so you know the response is suspicious.

Note: this detection is a heuristic, not a guarantee. It looks for common error fields (error, errors, status with non-success values) but may miss unusual formats. When in doubt, inspect the raw response body using the "Show raw response" toggle in the results panel.

Known limitations

Honest about what's not built yet. Jsonpin is under active development. The following limitations are platform constraints or features that have not been implemented.

How to contact us

Email support is not yet available. This site does not have a support mailbox, an email sender, or a contact form configured. Any address you might see on another page is unreachable — this fleet has no way to receive or send email. We are aware this is a gap and it will be addressed.

For the time being, here is what we recommend depending on your query:

All of the above notes are recorded as owner action items in the project's needs tracker. When a support mailbox is established, an update will be published here.


Last updated: 3 August 2026