JSON tools
Convert JSON to YAML, CSV, XML or code, generate types and schemas, format, validate and diff — every JSON tool runs 100% in your browser.
Data format converters
- JSON to YAML — Ready for Your Config File Convert JSON to YAML. Indentation you choose, ambiguous values quoted, and a result that pastes straight into a Compose or CI file.
- YAML to JSON — Long IDs Kept Exact Convert YAML to JSON. Large integers keep every digit and several documents become an array, ready to feed to an API or a script.
- JSON to CSV — Open It in a Spreadsheet Turn a JSON array of objects into a spreadsheet. The keys become the header row, ready to open in Excel, Numbers or Google Sheets.
- CSV to JSON — Numbers Arrive as Numbers Turn a CSV table into an array of JSON objects keyed by the header row. Numbers and booleans come out typed, ready to sum or compare in code.
- JSON to XML — Valid XML, Ready to Paste Convert JSON to XML. One root element, tag names made legal and indentation you choose — ready for a SOAP body or a config file.
- XML to JSON — Attributes Included Convert XML to JSON. Attributes, repeated elements and text all land somewhere you can reach with a dot or a bracket in your code.
- JSON to TOML — Config You Can Read Convert JSON to TOML. Tables, dotted keys and arrays of tables come out as a configuration a person can read and edit by hand.
- TOML to JSON — Long IDs Survive Exactly Convert TOML to JSON. Large integers keep every digit and dates keep their offset, so the config reaches your code as it was written.
- JSON to TSV — Tabs Instead of Commas Convert JSON to tab-separated values. Tabs stay out of the way of the commas in your data, and the result pastes straight into a spreadsheet.
- TSV to JSON — Ready for Your Script Turn a tab-separated table into an array of JSON objects. Field boundaries are never in doubt, so the result is ready to feed to a script or an API.
- JSON to NDJSON — One Record per Line Turn a JSON array into newline-delimited JSON. One document per line, minified, ready for bq load, a log pipeline or a streaming API.
- NDJSON to JSON — One Array for jq Turn newline-delimited JSON into a single array. Blank lines are skipped and a bad line is named by its number, so you know where to look.
- .env to JSON — Settings Your Code Can Read Turn a .env file into JSON. Quotes, comments and export are handled, so the settings arrive as an object your app or CI can read directly.
- JSON to .env — Ready for Docker and CI Convert a flat JSON object into a .env file. Names are checked and values quoted where a shell needs it, ready for Docker or your pipeline.
JSON to code generators
- JSON to TypeScript — Stop Typing Interfaces Turn a JSON sample into TypeScript interfaces. Nested objects get their own named types, so a payload becomes a file you paste and compile.
- JSON to Python — Pydantic, dataclass or TypedDict Turn a JSON sample into Python classes. Pick the style your project already uses and paste the result straight into models.py.
- JSON to Go — Structs That Drop Into Your File Turn a JSON sample into Go structs with json tags. Columns come out aligned the way gofmt would leave them, so the paste needs no cleanup.
- JSON to Rust — serde Structs Ready to Derive Turn a JSON sample into Rust structs with serde derives. Names become snake_case and the original key rides along, so from_str works first try.
- JSON to Java — Records Jackson Can Decode Turn a JSON sample into Java records. Boxed types and a Jackson annotation wherever a name had to differ, so the payload decodes as written.
- JSON to C# — Records System.Text.Json Reads Turn a JSON sample into C# records or classes. Every renamed property carries a JsonPropertyName attribute, so the deserializer still finds its key.
- JSON to Kotlin — Data Classes You Can Paste Turn a JSON sample into Kotlin data classes. Property names stay as the JSON wrote them, backticked where the language needs it, ready to compile.
- JSON to Swift — Codable With CodingKeys Written Turn a JSON sample into Swift structs conforming to Codable. Keys that cannot be property names come back through CodingKeys, spelled out for you.
- JSON to Dart — fromJson and toJson Written Out Turn a JSON sample into Dart classes. The original keys live in the generated fromJson and toJson, so the mapping is code you can read and step through.
- JSON to PHP — Classes With Promoted Properties Turn a JSON sample into PHP 8 classes with promoted constructor properties. A renamed property keeps the original key in a comment beside it.
- JSON to Scala — Case Classes, Keys Intact Turn a JSON sample into Scala case classes. Field names keep the JSON keys, in backticks where the language needs them, ready for your codec.
- JSON to Zod — Validate at the Boundary Turn a JSON sample into Zod schemas. One schema per object, declared before use, and z.infer gives you the TypeScript type from the same source.
- JSON to JSON Schema — A Contract for CI Turn a JSON sample into a JSON Schema, draft 2020-12. Required keys and additionalProperties are switches, so the contract says what you mean.
- JSON to GraphQL — SDL for Your schema File Turn a JSON sample into GraphQL SDL types. Nested objects become their own types, ready to paste into schema.graphql and query straight away.
- JSON to io-ts — Decode and Get the Type Turn a JSON sample into io-ts codecs. One codec per object, declared before use, and TypeOf hands you the static type from the same declaration.
- JSON to Flow — Type Aliases for Your Project Turn a JSON sample into Flow type aliases. Nested objects get their own names, so a payload becomes types you can import where you need them.
- JSON to PropTypes — A Wrong Prop Says So Turn a JSON sample into PropTypes shapes. One shape per object, required by default, so a prop of the wrong shape shows up in the dev console.
- JSON to JSDoc — Autocomplete in Plain JS Turn a JSON sample into JSDoc typedefs. Each object becomes a named @typedef your editor reads, in plain JavaScript files, with no build step.
JSON to database schemas
- JSON to MySQL — A CREATE TABLE You Can Run Turn a JSON sample into a MySQL CREATE TABLE. Column types come from the values, and a string too long for VARCHAR(255) gets TEXT instead.
- JSON to PostgreSQL — Paste It Into psql Turn a JSON sample into a PostgreSQL CREATE TABLE. Strings become TEXT, nested values JSONB, and a key missing from some rows becomes nullable.
- JSON to Mongoose — A Model File to Require Turn a JSON sample into a Mongoose schema. One schema per object, required where the sample shows a value, ready to export as a model.
- JSON to Prisma — A Model That Migrates Turn a JSON sample into a Prisma model. The identifier every model needs is always there, so prisma validate passes and the migration runs.
- JSON to BigQuery Schema — bq load Takes It Turn a JSON sample into a BigQuery schema file. Fields from every row are merged, so the load succeeds on the first attempt rather than the third.
- JSON to Protobuf — A .proto protoc Compiles Turn a JSON sample into proto3 messages. Field names are repaired for protobuf and json_name keeps the original key, so both sides still agree.
Formatters, validators & diff
- JSON Formatter — Read a Minified Payload Indent JSON with the numbers left exactly as written. A twenty-digit ID keeps its digits and 1.0 stays 1.0, so you read the response, not a copy.
- JSON Minifier — Fewer Bytes Over the Wire Strip whitespace from JSON. Numbers keep their written form and strings keep their escapes, so the payload gets smaller and stays the same.
- JSON Key Sorter — A Diff You Can Review Sort JSON object keys alphabetically, at every level. Two files sorted the same way diff on what actually changed, not on key order.
- JSON Validator — The Line and Column to Fix Check that JSON parses, with the line and column when it does not. You go straight to the character that broke it instead of hunting for it.
- JSON Diff — See Which Value Changed Compare two JSON documents. Indentation and key order are neutralised first, so what you see is what actually differs — down to the last digit.
Encoding & decoding
- JWT to JSON — Read the Claims Inside Decode a JWT header and payload, signature unchecked. You read exp, iss and the scopes, which is usually what tells you why a token was refused.
- Query String to JSON — Paste the Whole URL Turn a URL query string into JSON. Paste the whole address if you like: the parameters come out as an object you can read line by line.
- JSON to Query String — Ready for the URL Convert a flat JSON object into a URL query string. Percent-encoding is handled and arrays become repeated keys — paste it after the question mark.