Skip to content
Marvin's Toolbox.

Config Converter

Convert config and data between JSON, YAML, TOML, JSON5, INI, XML, CSV and .env. Type or paste on the left, pick the output format on the right, and copy the result. Includes a format button and a minify toggle.

Runs entirely in your browser. Nothing you put in here gets uploaded.

Standard data with no special constraints.

Next steps

Keep going. These tools open with your result loaded in.

Paste JSON to explore it as a collapsible, searchable tree, hide the fields you don't need, and see the structure it implies as a badge-annotated schema and a copyable TypeScript interface.

Convert config and data between JSON, YAML, TOML, JSON5, INI, XML, CSV and .env. Type or paste on the left, pick the output format on the right, and copy the result. Includes a format button and a minify toggle.

Compare two JSON documents by structure and see every added, removed and changed key and value with its exact path. Browse the result as a tree, a filterable change list or a line diff, ignore array order, catch type changes and export the changes as a JSON report.

Convert text into every case at once: title case in the APA, AP, Chicago, MLA, Bluebook, AMA and NYT styles, sentence case, upper, lower, camelCase, snake_case, kebab-case and more.

Count words, characters, sentences, paragraphs, lines and more as you type, with estimated reading and speaking time.

Remove duplicate lines from a list or text, keeping the first occurrence. Optionally ignore case and whitespace, or drop blank lines too.

Replace text in two modes: plain find and replace all, or regular expressions with flag controls and capture group references like $1.

Compare two texts and see every added, removed and changed line highlighted, side by side or inline, with the changed words marked within each line. Ignore case, whitespace or blank lines, read a summary of how much changed, and export the result as a unified diff.

Paste a UUID to see what it carries: version, variant, and for time-based versions the exact timestamp, clock sequence and node. Also shows the raw bytes, the 128-bit integer and the URN form.

About the Config Converter Tool

This tool reads config or data in one format and writes it out in another. Paste JSON, YAML, TOML, JSON5, INI, XML, CSV or a .env file on the left, pick the format you want on the right, and the result appears as you type.

It covers the small conversions that come up all the time, like turning a JSON block into YAML for a config file, or reading a TOML file as JSON.

What you can do

  • Convert between JSON, YAML, TOML, JSON5, INI, XML, CSV and .env in any direction.
  • Turn a JSON array into a CSV table, or read a CSV file as JSON.
  • Pretty-print and validate a document in its own format.
  • Minify the result down to a compact form.

Conversions are not always a perfect round trip

Formats do not all carry the same information, so some conversions drop detail on purpose. INI reads every value back as text, so numbers and true or false lose their type. TOML needs a top-level table, so the data has to be an object. CSV is a flat table, so it wants a list of objects and nested values become JSON text in a cell. Comments in JSON5 are not carried across. None of this is a fault, it is just what each format can hold.

When a conversion cannot work, a short message explains why instead of failing quietly.

Tools that share a tag with this one.

Turn docker run commands into a docker-compose.yml, or a compose file back into docker run. Ports, volumes, environment variables, networks, restart policies and resource limits carry over.

Format code in JavaScript, TypeScript, JSON, JSON5, HTML, Vue, CSS, SCSS, LESS, Markdown, YAML, GraphQL, XML and SQL. Pick tabs or spaces, set the indent width, and format the input in place with one click.

Paste JSON and get matching types or schemas for the language you work in, from TypeScript and Zod to Go and Rust. Nested objects become their own named types, optional fields are detected from your data, and each language comes with its own options.

Open an OpenAPI or Swagger spec in JSON or YAML and browse it as readable docs. Search endpoints, group them by tag, see parameters, request bodies, responses and schemas with $ref resolved, and copy a ready cURL command for any operation.

Decode Protocol Buffers, MessagePack and CBOR data without a schema. Paste hex or Base64, or drop a file, and see every field as a tree mapped back to its bytes, then copy the result as JSON.

Encode and decode Base16, Base32, Base36, Base45, Base58, Base62, Base64 and Base85. Pick the alphabet variant you need, from Crockford Base32 to Bitcoin Base58 and Ascii85, and convert in either direction.