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.
Open the App page. You'll see two tabs: Paste JSON and Fetch URL.
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.
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.
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
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.
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.
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.
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).
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/fetchendpoint) - 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.
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
- Cloudflare → Cloudflare restriction: A host behind Cloudflare cannot be reached from the Worker. This is a Workers platform limitation and cannot be worked around. It is noted on the App page next to the URL input.
- Body size cap: 100 KB for Starter (free) users, 500 KB for Professional. Larger responses are truncated with a notice.
- Fetch timeout: 15 seconds for Starter, 30 seconds for Professional.
- No email, alerts, digests, or scheduled re-checks: Jsonpin performs no background or recurring requests. Every analysis starts and ends in a single interaction.
- No accounts, no login, no saved history: There is no user database. Each session is anonymous and stateless. History is a planned feature but has not been built.
- Professional plan not yet purchasable: The checkout on the pricing page is a demo. No payment processor is connected. No subscriptions are being sold.
- No team accounts: Shared workspaces or team billing is on the roadmap but not available.
- Email support is not yet reachable: There is no support mailbox configured for this domain. See the contact section below.
- No mobile app: The tool is designed for desktop browser use. It may work on mobile but is not optimised for small screens.
- No crawling: Jsonpin fetches only the URL you type. It does not follow redirects beyond the standard HTTP redirect chain, and it does not crawl or spider.
How to contact us
For the time being, here is what we recommend depending on your query:
- Bug reports or tool feedback: If you have encountered a bug or have a suggestion, describe the issue in as much detail as possible. For bugs, include the JSON payload or URL you were testing, what you expected to happen, and what actually happened. This information helps us reproduce and fix the issue.
- Feature requests: We read every request. Planned features are noted on the pricing page. We cannot promise timelines for any feature.
- Abuse reports or security concerns: If you believe you have found a security issue with the tool, please document it carefully.
- Billing or Professional plan questions: The Professional plan is not yet available. When a payment processor is connected and subscriptions launch, a contact method will be established.
- Legal inquiries: Legal entity details have not been established. See the terms of service and privacy notice for current disclosures.
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