Skip to main content
CuteJSON
↑↓ Navigate Enter Select Esc Close

JSON to YAML Converter

Convert between JSON and YAML without either document leaving your browser.

Back to all tools

Keyboard shortcuts

These work wherever the matching action exists on this page.

Open the command palette
Ctrl/Cmd + K
Run the main action
Ctrl/Cmd + Enter
Format
Ctrl/Cmd + Shift + F
Minify
Ctrl/Cmd + Shift + M
Copy output
Ctrl/Cmd + Shift + C
Open file
Ctrl/Cmd + Shift + O
Download output
Ctrl/Cmd + S
Close this dialog
Esc
Open this dialog
F1 / ?

Local data

Everything below is stored only in this browser, on this device. None of it is ever sent anywhere, and closing this dialog is not required for that to stay true.

Unsaved drafts
Tools with remembered options

Recently opened files

    No files opened yet on this device.

    Share via link

    The content is packed into the part of the link after the # sign, which browsers never send to a server. Nothing here is uploaded to cutejson.com or anywhere else.

    Shares the first input on this page. On a tool with more than one, only that one is included.

    Nothing to share yet. Paste or type something first.

    JSON

    Load from a URL

    Fetches the URL directly from your browser and loads whatever text it returns into this pane.

    YAML

    The result appears here.

    Runs entirely in your browser. Nothing you paste is uploaded, and you can confirm that in your browser Network tab.

    About this tool

    YAML is a larger language than JSON, so this converts the subset that JSON can hold and refuses the rest by name rather than mangling it. Writing, a mapping becomes one key per line and an array repeats its key or dash per item, a string is quoted only when it would otherwise read as a number, a boolean, a null or a YAML indicator, and a null becomes a key with no value; an array can also be written as its own multi-document stream, one --- separated document per element, instead of one sequence, an explicit choice rather than the default, since an ordinary array gives no signal on its own for which reading was meant. Reading, a mapping, a sequence, a quoted string, a block scalar, a flow collection and a folded plain scalar are all read, an anchor and the aliases that point at it are resolved by copying the anchored value to every place that refers to it, and a stream of more than one --- separated document comes back as a JSON array, one element per document; tags and complex mapping keys are still refused by name. A plain scalar folds across the more indented lines that belong to it, and a line that turns out to open a block instead is refused rather than swallowed, because YAML cannot continue a plain scalar with an indicator. Numbers travel through the token stream, so a twenty digit integer comes back with all twenty digits, anchored or not.

    How to use

    1. Choose a direction, then paste your document into the left pane or load the sample.
    2. Pick the indent width, then press Convert.
    3. Copy the result or download it as a file.

    Keep reading

    How to convert JSON to YAML without the classic 01234 bug Read the guide