UltKit

JSON to YAML Converter

Rewrite JSON as YAML that people can read, review and comment. Upload .json files and get indented .yaml with the same keys, values and order, ready to drop into a repository.

Data Converter

or drop CSV, TSV, TXT … files here ·

Max 95 MB per file· Up to 20 files· Deleted after 30 minutes

Output

Files are processed on our servers and deleted after 30 minutes.

How to use this tool

  1. 1

    Add the JSON files

    Upload API responses, exported settings or generated manifests as .json, up to 20 files and 95 MB each. Each file must contain one valid JSON value.

  2. 2

    Leave the defaults

    YAML is already selected under Convert to. Nothing else needs changing for a config file; the output uses two-space indentation.

  3. 3

    Convert and commit

    Press Convert to YAML, download the .yaml files, add comments where the next reader will need them, and commit.

Answer

How do I convert JSON to YAML?

Upload the .json file and press Convert to YAML. Objects become indented key: value blocks, arrays become lists with dashes, and strings that YAML could misread keep their quotes.

Why convert JSON to YAML for config files

Most JSON is produced by software: an API response, a settings export, the output of a generator. Most YAML is maintained by people. The conversion usually marks the moment data stops being machine output and becomes something a team owns, such as a deployment manifest checked into Git, a CI pipeline, or a set of Ansible variables.

A typical case: you call a cloud API, get back a 200-line JSON description of a resource, and want to keep it as infrastructure code. Converting gives you a file without braces and commas, where a one-line change produces a one-line diff and you can explain odd values in comments. The same goes for test fixtures and translation files that non-developers edit. When a flat table is what you need instead, for a spreadsheet or a report, JSON to CSV is the better fit.

Tools whose config files are YAML

Where converted YAML usually ends up
OrganisationRequirementSource
GitHub ActionsWorkflows live in .github/workflows as .yml or .yaml filesGitHub Docs
GitLab CI/CDThe pipeline is defined in .gitlab-ci.yml at the repository rootGitLab Docs
Docker ComposeServices are described in compose.yaml (formerly docker-compose.yml)Docker Docs
AnsiblePlaybooks and variable files are written in YAMLAnsible Docs
KubernetesManifests accept JSON or YAML; documentation and Helm charts use YAMLKubernetes

JSON to YAML example with tricky values

YAML output for {"name":"api","version":"1.10","debug":false,"tags":["web","eu"],"country":"NO"}
name: api
version: "1.10"
debug: false
tags:
  - web
  - eu
country: "NO"

What YAML gives you

  • Comments with #
  • Shorter diffs in code review
  • No braces, commas or quotes on most lines
  • Multi-line text with | block scalars

What to watch

  • Indentation is meaning, so a stray space changes structure
  • Tabs are not allowed for indentation
  • Unquoted strings can be read as numbers or booleans
  • Slower and less uniform parsers than JSON

The example shows why a plain find-and-replace of braces is not enough. The version 1.10 is a string in the JSON; written bare in YAML it would be read as the number 1.1. NO, the ISO code for Norway, would be read as false by YAML 1.1 parsers such as PyYAML. Both keep their quotes, while true numbers and booleans stay bare.

JSON and YAML compared

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
JSON converter

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
YAML converter

People convert JSON to YAML when generated or API data has to become a config file that humans maintain, review in pull requests and annotate with comments.

JSON to YAML converter questions

Is JSON already valid YAML?

Under YAML 1.2, yes: the 2009 revision was written so that every JSON document is also a YAML document. You could paste JSON into a .yaml file and most tools would accept it. Converting is about readability: block style without braces, quotes and commas is what reviewers and the next maintainer expect.

Why are some values wrapped in quotes in the YAML?

Because without quotes YAML would read them as a different type. A version string like 1.10 would become the number 1.1, and yes or off could become booleans in older parsers. Strings that look like numbers, dates or booleans need quotes to stay strings, so a careful conversion keeps them.

Can I add comments after converting?

Yes, and that is a common reason to convert. Write # followed by your note at the end of a line or on its own line. JSON had no way to explain why a value is set; YAML does, which makes reviews and handovers easier.

Why does my YAML fail with a tab character error?

The YAML specification forbids tabs for indentation; only spaces count. The converter writes spaces, but an editor set to insert tabs can break the file on the next edit. Set your editor to use spaces for .yaml files.

Will Kubernetes accept the converted manifest?

kubectl reads both JSON and YAML, so the data is the same either way; the YAML version is simply what most documentation, Helm charts and code reviews use. If you later need JSON back for jq or an API call, YAML to JSON reverses it.