Free YAML ↔ JSON Converter
Configs bounce between YAML and JSON all day — Kubernetes, GitHub Actions, Docker Compose. Convert them without pasting secrets into a random server.
--- separators) converts to a JSON array.
Something not working?
Tell us what went wrong — it helps us fix the tool. Only what you type below is sent; your config never leaves your device.
Need more power? Meet YAML ↔ JSON Converter Pro
One-time payment. Yours forever. No subscription.
| Feature | Free | Pro |
|---|---|---|
| YAML ↔ JSON conversion, auto-detect, multi-document | Yes | Yes |
| Copy / download, file upload | Yes | Yes |
| YAML lint with line-numbered errors | Yes | Yes |
| JSON → TypeScript types / JSON Schema | — | Yes |
| Diff two configs (YAML vs YAML, JSON vs JSON) | — | Yes |
| Ads | Shown on page | Ad-free |
| Updates | — | Lifetime free updates |
Frequently asked questions
Is my config uploaded or stored?
No. The js-yaml engine runs inside your browser and parses your text locally. Nothing is sent to a server, saved, or logged. If you work with configs that contain secrets, this is the safe way to convert them — and you should still rotate any secret you have ever pasted into an unknown site.
What happens to YAML comments and anchors?
Comments are dropped when converting to JSON, because JSON has no comments — they cannot survive the round trip. Anchors and aliases are resolved to their values. Dates in YAML become ISO date strings in JSON.
How do multi-document YAML files convert?
Documents separated by --- become a JSON array with one element per document. Converting that JSON array back to YAML produces separate documents again.
Why did my YAML fail with a line number?
YAML is indentation-sensitive: mixed tabs and spaces, a misaligned key, or an unclosed quote or bracket breaks parsing. The error message names the exact line and column — fix the indentation there first. Tabs are never valid indentation in YAML.
The engine did not load — what now?
The js-yaml engine loads from a public CDN (cdnjs). If an ad blocker or firewall blocks third-party scripts — or you are offline — the engine cannot start. Allow scripts from cdnjs.cloudflare.com for this page, or check your connection and reload.