These are the small utilities you reach for in the middle of debugging: an API response that will not parse, a token you need to look inside, a number in a log that is supposed to be a date. The usual way to get help is to paste the data into the first website a search turns up, which is exactly what you should not do with production tokens, customer records or internal payloads. Every tool in this section runs entirely in the page; open your browser's network panel while you use one and you will see that nothing you paste is sent anywhere.
Precise errors instead of "invalid input"
A validator is only useful if it tells you where the problem is. The JSON formatter reports the line and column of the first syntax error and explains the common causes — a trailing comma, a single-quoted string, a comment — because most broken JSON was written by hand or produced by a template. The Base64 decoder points to the first character that is not part of the alphabet, and the timestamp converter says which unit (seconds, milliseconds, microseconds) it assumed and why.
Decoding is not verifying
A JSON Web Token is readable by anyone: the header and payload are only Base64url-encoded, not encrypted. The JWT decoder shows their contents and whether the token has expired, but it does not and cannot tell you whether the signature is valid, because that needs the issuer's secret or public key. The tool page explains what to check on the server instead. The same caution applies to Base64 in general: it is an encoding for carrying bytes through text, not a way of hiding them.
Working alongside AI
A lot of debugging now happens with ChatGPT or Claude, and that brings three new questions. How many tokens will a prompt or document use, what will it cost and will it fit the context window? The token counter counts exactly with OpenAI's published tokenizers, marks other models as approximate and prices them from the official lists. What should come out of a log or config before it is pasted into an AI? The redaction tool swaps keys, passwords and personal details for placeholders and restores them in the reply. And what about the "JSON" a model returns with code fences, single quotes or trailing commas? The JSON formatter's Repair fixes each problem and lists what it changed.
Large inputs
Log files and API dumps can be many megabytes. Formatting and parsing large inputs happens in a background worker so the page stays responsive, and outputs can be downloaded as files instead of being copied from a huge text box.
- LLM API pricing comparison: official prices for GPT, Claude, Gemini, DeepSeek, Qwen, Kimi and GLM in one currency, ranked for your usage, with DeepSeek off-peak rates.
- Token counter & AI cost calculator: exact counts for GPT models with o200k_base and cl100k_base, approximations for Claude and Gemini, and cost and context use at official prices.
- Redact sensitive data: replace keys, tokens, connection-string passwords, emails and phone numbers with consistent placeholders, and restore the AI's reply.
- JSON formatter and repair: pretty-print, minify, sort keys and validate, keeping integers larger than 2^53 exact; repair broken JSON from AI models in one click.
- JSON to TypeScript interface: infer interfaces or a Zod schema from an API response, with optional fields detected.
- Regex tester: live highlighting, capture groups, replace preview and a plain-English explanation.
- Cron expression translator: plain-English meaning, next run times by time zone, and a warning about the day-of-month OR day-of-week rule.
- SQL formatter: MySQL, PostgreSQL, SQL Server, Oracle and a dozen other dialects.
- Base64: text and files, standard and URL-safe alphabets, with or without padding.
- Timestamp converter: Unix time in any unit to ISO 8601, RFC 2822, UTC and local time, and back.
- JWT decoder: header, payload, registered claims and expiry, with the limits of decoding spelled out.
Debugging a failing integration
When an API call that worked yesterday fails today, the cause is usually one of four things: a response that is not valid JSON, a large ID rounded by JSON.parse, an expired token, or a timestamp read in the wrong unit. The guide to debugging API responses takes them in that order. It shows how to find a trailing comma by line and column, why 12345678901234567890 turns into 12345678901234567000 in JavaScript, how to read the exp claim of a JWT, and why a date of 20 January 1970 almost always means seconds were read as milliseconds.
A sensible order of checks
When something breaks, look at the HTTP status and content type before the body. If the body does not parse, format it to find the error. If it parses but looks wrong, compare long IDs and dates with the raw response. If the server answers 401, decode the token and read its time claims. That order finds most problems within minutes.