Works with .yaml and .yml
Both extensions are the same format, so there is no separate tool for either. Add the file you have and you get a .json file named after it.
Convert YAML to
Convert to JSON
Add a .yaml or .yml file and get a JSON file back. Comments are dropped and a few values change type, so read the list below before you rely on the result.
To convert yaml to json, add the .yaml or .yml file, keep JSON as the output and download the result. In our test, a 320 B YAML file with two documents became a 450 B json array of two objects in 2.8 seconds. Comments were dropped, NO became false, 01234 became 668 and .nan came out as a bare NaN, which strict JSON does not allow.
Transfers use HTTPS, and files converted on the free tier are deleted after 24 hours, so the result is not a long-term archive. Quality depends on the source file, so open the JSON file once before you share it.
YAML (YAML Ain't Markup Language)
A human-readable data format that uses indentation instead of braces, allows comments, and can reuse a block through anchors and aliases. It is common in configuration files for Kubernetes, Docker Compose and CI pipelines. The current spec is revision 1.2.2 from October 2021, and it is a superset of JSON. Files usually end in .yaml or .yml.
JSON (JavaScript Object Notation)
A text format for structured data built from objects, arrays, strings, numbers, true, false and null. It has no comments and no date type, and it forbids NaN and Infinity. It must be UTF-8 when exchanged between systems, and it is the usual format for web APIs. It is defined by RFC 8259 and ECMA-404, and files end in .json.
A 320 B YAML file with two documents and a single-document 160 B file, converted on indox.org
Both extensions are the same format, so there is no separate tool for either. Add the file you have and you get a .json file named after it.
A file split by --- lines is read as separate documents. In our test, two documents came back as one JSON array with two objects, and a single document stays a plain object.
Shared blocks that use &defaults and <<: *defaults are written out in full where they are used, so the JSON needs no reference support to read them.
Keys stayed in the order of the source, and non-English text is written as it is instead of as escape codes. The output uses two-space indentation, LF line endings and no byte order mark in our test.
The conversion runs on indox servers, so it works in a browser on any system, without Python, yq or a code editor extension.
Drop the .yaml or .yml file on the box or choose it from your device. Check first that it is plain YAML text with spaces for indentation, since the format does not allow tabs.
Make sure JSON is the output format, then start the conversion. In our test it took 2.8 seconds from the click to Completed, with no sign-in.
Open the file and look at any NO, yes, zero-padded number, date or .nan from your source. Run it through a JSON validator if another program will read it strictly.
You hand over a YAML or YML file and take away JSON, for tools and code that read only JSON. The page lists what the conversion drops or changes, with values we measured, so you know before you convert whether the result fits the job.

The upload box shows the live size limit before you add a file. Signing in raises it; a paid plan does not change it.
YAML in, JSON out. Pick another output on the converter if you need a different format.
Files are encrypted in transit over HTTPS and processed on indox infrastructure.
Free-tier files are kept for 24 hours after the job finishes, then deleted automatically.
| What you see | Why | What to do |
|---|---|---|
| A value turned into false or true | WhyYAML 1.1 style reading treats NO, yes, on and off as booleans | What to doQuote the value in the YAML, for example "NO", and convert again |
| A number changed, such as 01234 to 668 | WhyA leading zero is read as octal | What to doQuote the value so it stays text |
| A date is text with a space in it | WhyJSON has no date type and the timestamp is written as a string | What to doParse the string in your own code or write the date as text in the YAML |
| Another program rejects the JSON | WhyThe file holds NaN, which RFC 8259 does not allow | What to doRemove .nan and .inf from the YAML, or use null |
| I got an array and expected an object | WhyThe file had several --- documents | What to doSplit the YAML into one file per document, or read the first item of the array |
| My comments and anchor names are missing | WhyJSON cannot store them | What to doKeep the YAML as the source and regenerate the JSON when it changes |
| I need the file as YAML again | WhyThis tool goes one way | What to doUse JSON to YAML, knowing comments will not return |
| Compared on | YAML | JSON |
|---|---|---|
| Comments | YAMLAllowed with # | JSONNot part of the format |
| Types | YAMLReader decides: NO, yes and 01234 can become other types | JSONStrings, numbers, true, false, null, objects, arrays |
| Reuse | YAMLAnchors, aliases and merge keys | JSONNone, a value is written out each time |
| Dates | YAMLTimestamp types in the spec | JSONNo date type, so dates are strings |
| Non-numbers | YAMLWritten as .nan and .inf | JSONNaN and Infinity are not allowed |
| Typical use | YAMLConfiguration written by people | JSONData exchanged between programs and web APIs |
An API, a script or a front-end app that accepts only JSON cannot read your config as YAML. A converted copy lets you test it without installing a library. Check booleans and zero-padded values first.
A spec kept as YAML is sometimes needed as JSON for a gateway, a code generator or an import form. Plain mappings, lists and strings convert cleanly. Dates and non-string keys need a look.
A file with several --- documents, like a Kubernetes manifest set, becomes one JSON array. Each object is one document, in the original order.
If you only need one file converted and have no runtime to run a script, a browser tool does the job. For many files or a build step, a library in your own code is the better fit.
Authenticate, start a conversion, poll its status and download the result.
Format families, and how to check one pair before you convert.
File size, credits and retention for free and paid use.
Submit a file, poll the job, download it and list past conversions.
Facts checked on November 5, 2026
No tool matches that search.
Add your .yaml or .yml file to the converter, keep JSON as the output and download the result. In our test a small file finished in 2.8 seconds without a login.
No. JSON has no comments, and the YAML specification says comments must not affect the data. Every # comment was gone in our test. Keep the YAML file if you need the notes.
They are expanded into copies. In our test a <<: *defaults merge was written out in each place that used it and the anchor name did not appear in the JSON. The key that held the defaults stayed in the output as well.
A file split by --- becomes a JSON array with one object per document. In our test two documents gave an array of two objects. A file with one document gives a plain object, not an array.
The reader follows the older YAML 1.1 rules, where NO, yes and similar words are booleans and a leading zero means octal. Put quotes around such values in the YAML, for example "NO" and "01234", and they stay text.
They become strings, because JSON has no date type. 2024-01-15 stayed 2024-01-15 and 2024-01-15T10:30:00Z became 2024-01-15 10:30:00+00:00 in our test, with a space instead of a T. Parse them in your own code if you need a specific format.
Not always. In our test .nan came out as a bare NaN, and a strict parser rejects that. A file without such values was valid JSON in our second test. Replace .nan and .inf in the YAML first.
Yes, with [JSON to YAML](/convert/json-to-yaml). Comments and anchors removed on the way to JSON cannot come back, so a round trip will not match the original text.
Add the spec file as you would any other YAML file. Check that response codes written as numbers, such as 200, are what your tool expects, because every key becomes a string in JSON.