Skip to content
MyDevToolbox

Universal Converter

Hybrid

Convert between JSON, YAML, CSV and TOML.

Runs in your browser with server assistance · Inputs are saved only in this browser, if you allow it

One tool for every data format

Modern stacks mix data formats constantly: JSON for APIs, YAML for Kubernetes, Docker Compose and CI pipelines, TOML for pyproject.toml, Cargo.toml and app settings, and CSV for spreadsheets and data exports. This converter turns any of them into any other in one step, keeping types intact: numbers stay numbers, booleans stay booleans and big integers keep every digit.

How each conversion behaves

  • CSV → anything: the delimiter (comma, semicolon, tab or pipe) is detected automatically, the first row becomes the keys and values such as 42, 3.5 or true are converted to real types – you can turn that off to keep everything as text.
  • Anything → CSV: a list of objects becomes a table. Nested objects are flattened into dotted column names such as user.address.city, and lists are written as JSON inside the cell.
  • → TOML: TOML documents must be a table and have no null; empty values are left out and reported so nothing disappears silently.
  • YAML: multiple documents separated by --- are converted as a list, and dates are written in ISO 8601 format when producing JSON.

Precise errors and safe parsing

If the input is invalid you get the line and column of the problem from the real parsers (Python's json, PyYAML and tomllib). YAML is always read in safe mode, which never creates arbitrary objects, and documents that abuse anchors and aliases to expand exponentially – the “billion laughs” attack – are rejected instead of exhausting memory.

Practical examples

docker-compose to JSON

Paste a docker-compose.yml to inspect it as JSON, or to feed it to a tool that only understands JSON.

Spreadsheet to API payload

Export a sheet as CSV, convert it to JSON and use the result as test fixtures or a bulk-import request body.

Migrating configuration

Move settings from a JSON or YAML file to pyproject.toml without rewriting them by hand.

Data is converted on our server in memory and never stored; your last input is remembered only in your browser's localStorage until you press Clear Data.