YAML to JSON Converter
Turn YAML configuration, OpenAPI specs and CI files into JSON that any parser, API or schema validator reads. Upload .yaml or .yml files and download indented JSON.
Data Converter
or drop CSV, TSV, TXT … files here ·
Max 95 MB per file· Up to 20 files· Deleted after 30 minutes
Files are processed on our servers and deleted after 30 minutes.
Character that separates columns in CSV and text files, for both reading and writing. Auto detects it from the input and writes commas.
UTF-8 works for every language. Choose UTF-8 with BOM if Excel on Windows shows garbled accents or Asian characters when opening the CSV.
Excel, ODS and Numbers input: convert the first sheet only, or every sheet (one CSV per sheet in a ZIP, or one JSON key per sheet).
Name of the sheet tab in the new spreadsheet, up to 31 characters.
Array of objects uses column names as keys for every row; array of arrays is more compact and keeps the header as the first array.
Name of the outer element that wraps all rows; each row becomes a <row> inside it.
Used in CREATE TABLE and INSERT statements. Letters, digits and underscores only.
Quoting and column types differ slightly between databases; pick the one you will import into.
Rewrite date cells in one format. ISO (2026-10-18) is safest for databases and code; keep leaves them as they appear in the source.
How to use this tool
- 1
Upload YAML files
Add .yaml or .yml files, up to 20 at once and 95 MB each. Keep the original names; the JSON files take the same names with a new extension.
- 2
Choose indented or compact
Pretty print is on, which indents the JSON for reading and code review. Switch it off under Advanced settings for a single-line file to paste into a request body.
- 3
Convert and use
Press Convert to JSON, download, and pass the file to the API, the validator or the script that needed it.
Why developers convert YAML to JSON
YAML is written for people: indentation instead of braces, comments, no quotes around most strings. That makes it the format of Kubernetes manifests, GitHub Actions workflows, Docker Compose files and OpenAPI specs that teams edit by hand. JSON is written for programs. Every language has a JSON parser in its standard library, browsers parse it natively, and most HTTP APIs take nothing else.
So the conversion happens at the boundary. A platform engineer pipes a manifest through jq, which only reads JSON. A backend developer sends an OpenAPI spec to a code generator that wants JSON. A tester loads fixture data written in YAML into a JavaScript test suite. In each case the YAML stays the source of truth and the JSON is a build artifact. For a whole directory of feeds or exports rather than configs, XML to JSON handles the older markup format in the same way.
How YAML and JSON grew together
- YAML first proposed by Clark Evans
- 2001
- YAML 1.2 made JSON a subset of YAML
- 2009
- RFC 8259, the current JSON standard
- 2017
- YAML 1.2.2 revision published
- 2021
What happens to YAML-only features in the JSON
An anchor (&defaults) and its aliases (*defaults) let YAML reuse a block. JSON has no references, so each alias is replaced by a full copy of the anchored block.
- The JSON can be noticeably longer than the YAML
- Merge keys (
<<: *defaults) are expanded the same way
Lines beginning with # are documentation for people. JSON has no place for them and they are removed.
- Keep the YAML under version control as the commented source
An unquoted 2026-10-18 is a timestamp in many YAML parsers. JSON has no date type, so it is written as the string "2026-10-18".
A YAML stream can hold several documents separated by ---. A JSON file holds one value, so put each document in its own file when the receiving tool expects a single object.
{
"service": "billing",
"replicas": 3,
"ports": [8080, 9090],
"env": {
"LOG_LEVEL": "info",
"REGION": "NO"
}
}YAML and JSON format facts
YAML
YAML
YAML ("YAML Ain't Markup Language") is a human-friendly data format first released in 2001. It uses indentation instead of brackets, supports comments, and is a superset of JSON. It is widely used for configuration in Docker Compose, Kubernetes, GitHub Actions and many applications. Its reliance on whitespace makes it easy to break with a single misplaced space, and some values, such as "no" or dates, can be interpreted unexpectedly.
- Compression
- –
- Transparency
- –
- Animation
- –
- Introduced
- 2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
JSON
JavaScript Object Notation
JSON is a lightweight text format for structured data, popularised by Douglas Crockford in the early 2000s and standardised as RFC 8259 and ECMA-404. It represents objects, arrays, strings, numbers, booleans and null with simple, readable syntax. It is the default format for web APIs, configuration files and data exchange between apps in almost every programming language. It has no comments, dates or schemas built in, and large nested files are hard to read without a viewer.
- Compression
- –
- Transparency
- –
- Animation
- –
- Introduced
- 2001 · Douglas Crockford
People convert YAML to JSON when a config or spec written for humans has to feed a machine: an API request, a schema validator or a tool with no YAML parser.
YAML to JSON converter FAQ
Why convert YAML to JSON if they hold the same data?
Because many tools only parse one of them. JSON readers ship with every programming language and browser, while YAML needs an extra library. Request bodies for REST APIs, JSON Schema validators, jq, and files such as package.json or a browser extension's manifest.json all expect JSON.
What happens to my YAML comments?
They are dropped. RFC 8259 gives JSON no comment syntax, so lines starting with # have nowhere to go. Keep the YAML file as the documented source and treat the JSON as a generated copy you can regenerate any time.
Why did NO or off turn into false?
Parsers that follow YAML 1.1 read yes, no, on and off as booleans, so a country code like NO for Norway can become false. YAML 1.2 limits booleans to true and false, but not every tool follows it. Quote such values in the YAML, as in "NO", and they stay strings in the JSON.
Can I convert a CloudFormation template written in YAML?
AWS CloudFormation accepts both formats, but the short tags like !Ref and !GetAtt exist only in YAML. JSON templates write them as full functions, {"Ref": "MyBucket"} or {"Fn::GetAtt": [...]}. Rewrite short tags in the long form before converting so the JSON template stays valid.
How do I go the other way?
Use JSON to YAML. It is the usual direction when an API response or a generated file needs to become a readable config file in a repository.