gekro
GitHub LinkedIn
Dev

Config Format Converter

Convert config between JSON, YAML, TOML, and .env - instantly, in your browser, offline

  

Covers the common-config subset of each format — nested maps, sequences, scalars, quoting, and comments. Not supported (falls back to a clear error or a quoted string): YAML anchors/aliases, multi-document streams, and block scalars (|/>); TOML dotted-key edge cases. .env is flat, so nested keys flatten to PARENT_CHILD and arrays/objects are emitted as JSON strings.

As-is, no warranty. These apps are free under their listed license and run entirely in your browser. Use at your own risk — don't blame me if your PC catches fire, your dog runs away, or the math turns out wrong. Verify anything that actually matters. None of this is professional financial, medical, legal, or engineering advice.

© 2026 Rohit Burani · MIT · Built at gekro.com · View source ↗

Guide

What It Does

Paste a config in one format, get it back in another. It handles the four formats that cover almost all real-world configuration:

  • JSON - the lingua franca
  • YAML - Kubernetes, CI pipelines, most modern app config
  • TOML - Rust/Cargo, Python (pyproject), many Go tools
  • .env - local development and twelve-factor apps

Pick a target format tab and the conversion happens live as you type. Leave the source on “Auto-detect” and it figures out what you pasted.

It Runs Entirely In Your Browser

The parsers and serializers are hand-written with zero dependencies - there is no server, no upload, and no network call at any point. That matters because config files routinely contain secrets: database URLs, API keys, tokens. Anything you paste stays in the tab. You can disconnect from the internet and it still works.

How It Works

Every format is parsed into a single plain-JavaScript intermediate value, then serialized out to the target. That shared representation is what makes any-to-any conversion clean: JSON→TOML and YAML→.env go through exactly the same middle step. The .env target is flat by nature, so nested keys are flattened to PARENT_CHILD form and arrays or objects are emitted as JSON strings.

Pairs well with the JSON Formatter for cleaning up the JSON side and CSV to JSON when your data starts as a spreadsheet.

Limitations

It targets the common-config subset of each format - the shapes real config files actually use. It does not implement:

  • YAML anchors/aliases, multi-document streams (---), or block scalars (| / >)
  • TOML some dotted-key and deeply-nested array-of-tables edge cases
  • Comments are stripped on conversion (they have no home in the target structure)

When the input uses something outside the subset, you get a clear parse error rather than a silently wrong result. For anything exotic, treat the output as a strong first draft and eyeball it.

For informational purposes only. Not financial, medical, or legal advice. You are solely responsible for how you use these tools.