# json0 > json0 (https://json0.dev) is a free set of 20 JSON, CSV and MongoDB tools that run entirely in the browser: diff, query, validate, format, tables, schema inference, redaction, Extended JSON, ObjectIds, encoders and more. Nothing pasted into a tool is uploaded; the only tool that makes a network request is Ping, and only to the host the user enters. Privacy, in detail: https://json0.dev/privacy. In short: no accounts, cookies, analytics or ads; fonts are self-hosted; the host (Vercel) keeps standard request logs, which contain page addresses, not pasted data. Every tool has its own URL and works without an account. Share links for JSON Diff keep both documents in the URL fragment, which browsers do not send to servers. The source is on GitHub: https://github.com/Siddharthachuahan9/JSON0.dev ## Tools - [JSON Diff](https://json0.dev/json-diff): Compare two JSON documents side by side and see every added, removed and changed key, with array order optional. Runs locally in your browser; nothing is uploaded. - [JSONPath Query](https://json0.dev/jsonpath): Run JSONPath expressions against a JSON document and see each match with its path. Runs locally in your browser; nothing is uploaded. - [JSON Validator](https://json0.dev/json-validate): Validate JSON and get the exact line, column and reason for every syntax error, with the broken lines shown. Runs locally in your browser; nothing is uploaded. - [JSON Formatter](https://json0.dev/json-format): Pretty-print, minify, sort keys, or escape and unescape JSON as a string, with the size before and after. Runs locally in your browser; nothing is uploaded. - [JSON to Table](https://json0.dev/json-table): Turn a JSON array into a sortable, filterable table with nested objects flattened into columns, then copy it as CSV, TSV or Markdown. Runs locally in your browser. - [JSON Schema Generator](https://json0.dev/json-schema): Infer a JSON Schema, TypeScript types and a Zod schema from sample JSON, then validate documents against it. Runs locally in your browser; nothing is uploaded. - [XML to JSON Converter](https://json0.dev/xml-to-json): Convert XML to JSON with attributes and text kept and repeated elements turned into arrays. Runs locally in your browser; nothing is uploaded. - [CSV Viewer](https://json0.dev/csv): Open a CSV or TSV file as a table, profile every column, find and remove duplicate rows, and convert it to JSON or NDJSON. Runs locally in your browser. - [CSV Diff](https://json0.dev/csv-diff): Compare two CSV exports row by row on a key column and see the rows added, removed and every changed cell. Runs locally in your browser; nothing is uploaded. - [MongoDB Extended JSON Converter](https://json0.dev/mongo-ejson): Convert between mongosh shell syntax, canonical and relaxed Extended JSON v2 and plain JSON, keeping ObjectId, Date, Long and Decimal128 types. Runs locally in your browser. - [MongoDB ObjectId Decoder](https://json0.dev/objectid): Read the creation time inside MongoDB ObjectIds, generate ObjectIds for a date, and build an _id range filter for a time window. Runs locally in your browser. - [MongoDB Query Tester](https://json0.dev/mongo-query): Test a MongoDB find filter, projection, sort and limit on pasted documents and see which ones match, without a database. Runs locally in your browser. - [MongoDB Schema Analyzer](https://json0.dev/mongo-schema): See every field across a set of MongoDB documents with its types, how often it is present, and which fields have mixed types to fix. Runs locally in your browser. - [JSON and CSV Redactor](https://json0.dev/redact): Find emails, phone numbers, card numbers, IBANs, API keys, JWTs and IP addresses in JSON or CSV, then mask, fake, hash or remove them. Runs locally in your browser. - [Base64 Encoder and Decoder](https://json0.dev/base64): Encode text to Base64 or decode it back, with UTF-8 handled and an optional URL-safe alphabet. Runs locally in your browser; nothing is uploaded. - [JWT Decoder](https://json0.dev/jwt): Decode a JSON Web Token and read its header, payload and claims, with issue and expiry times in plain dates. Runs locally in your browser; nothing is uploaded. - [Hash Generator](https://json0.dev/hash): Compute SHA-1, SHA-256, SHA-384 and SHA-512 digests of any text with the browser’s Web Crypto. Runs locally in your browser; nothing is uploaded. - [UUID Generator](https://json0.dev/uuid): Generate up to 50 version 4 UUIDs at once from crypto.randomUUID, in lower or upper case, and copy them all. Runs locally in your browser. - [IP Address Inspector](https://json0.dev/ip): Read an IPv4 or IPv6 address locally: its version, its range (private, shared, loopback, public and more) and its integer, hex and binary forms. Nothing is uploaded. - [Ping Tool](https://json0.dev/ping): Check whether a host answers and how fast: three timed HTTPS requests from your browser, since browsers cannot send ICMP pings. Nothing is sent until you press Ping. ## Guides - [JSON diff tools compared: json0, JSONDiff, JSON Crack, Diffchecker, VS Code and jq](https://json0.dev/guides/json-diff-tools-compared.md): Five ways to compare two JSON documents, tested on the same pair of API responses. What each one shows, how it treats key and array order, and where your data goes. - [Working with MongoDB JSON without a database: Compass, mongosh and json0 compared](https://json0.dev/guides/mongodb-json-tools-compared.md): Extended JSON, ObjectId timestamps, testing a find filter and checking a collection's schema. Which jobs need Compass or mongosh, and which you can do on pasted documents in the browser. - [How to redact secrets and personal data from JSON before you share it](https://json0.dev/guides/redact-secrets-before-sharing-json.md): Before you paste a payload into a ticket, a chat or an AI assistant, strip the keys, tokens and customer details. Four ways to do it compared: json0 Redact, jq, Microsoft Presidio and gitleaks. - [json0 vs JSONLint: which JSON validator to use, and when](https://json0.dev/guides/json0-vs-jsonlint.md): Both validate JSON and both keep your data in the browser. JSONLint reports every error at once and has a repair tool; json0 loads no ads or trackers and adds diff, tables, schemas and more. A side-by-side comparison. - [json0 vs JSON formatter sites like jsonformatter.org: privacy, features and when to use each](https://json0.dev/guides/json0-vs-json-formatter-sites.md): Formatter sites such as jsonformatter.org pretty-print in the browser but load dozens of ad and tracking services, and their save feature can make your JSON public. How json0 compares, and where the big formatter sites are still the better pick. - [json0 vs jwt.io: decoding JWTs without trackers, and when you need jwt.io's verifier](https://json0.dev/guides/json0-vs-jwt-io.md): jwt.io decodes, verifies and creates JSON Web Tokens and is backed by Auth0. json0 decodes them on a page with no ads, analytics or third-party requests, and never asks for your signing secret. What each does, what we measured, and which to use. - [How to compare two JSON documents and ignore array order](https://json0.dev/guides/compare-json-ignore-array-order.md): When ["a","b"] and ["b","a"] should count as equal, and when they should not. Three ways to diff JSON with unordered arrays, and the edge cases that trip each one up. - [Convert a JSON array to CSV or a table, with nested objects flattened](https://json0.dev/guides/json-to-csv-nested-objects.md): Turn an API response into a spreadsheet without losing nested fields. How flattening to dot paths works, what to do with arrays, and how to do it in the browser, with jq or with pandas. - [Generate a JSON Schema, TypeScript types and a Zod schema from a JSON sample](https://json0.dev/guides/json-schema-typescript-zod-from-json.md): Infer types from real API responses instead of writing them by hand. What a generator can and cannot know from a sample, how to feed it several samples, and how to check the result. - [How to compare two CSV files by a key column](https://json0.dev/guides/compare-two-csv-files-by-key.md): A line diff of two exports is useless once rows are re-sorted. Match rows on an id column instead and list the rows added, removed and the exact cells that changed. In the browser, with csv-diff or daff, or in a spreadsheet. - [What's inside a MongoDB ObjectId, and how to query _id by date](https://json0.dev/guides/mongodb-objectid-timestamp.md): Every ObjectId carries its creation time. How to read it in mongosh, JavaScript and Python, how to build an _id range for a time window, and the caveats that come with using _id as a clock. - [Decoding a JWT safely: what you can read, what you can trust, and what never to paste](https://json0.dev/guides/decode-jwt-safely.md): Anyone can decode a JSON Web Token without a key. That does not make its contents true. What the header, payload and signature tell you, how to read exp and iat, and how to inspect a token without leaking it. - [JSONPath cheat sheet with worked examples (and the jq equivalents)](https://json0.dev/guides/jsonpath-cheat-sheet.md): The JSONPath syntax you will actually use, tried on one real API response, with each result shown, the standard RFC 9535 filter syntax, and the jq command that does the same thing. ## Optional - [Privacy](https://json0.dev/privacy): exactly what json0 does and does not send, and how to check it in the browser's network panel. - [All guides in one file](https://json0.dev/llms-full.txt): the full Markdown of every guide. - [Request a feature](https://json0.dev/request): ask for a tool or report a bug, by GitHub issue or email.