Drop a YAML file. Any size.
safe · secure · no server · works offline · fast
…or just start typing at the cursor.
safe · secure · no server · works offline · fast
…or just start typing at the cursor.
OmniViewer opens a YAML file right in your browser. Drop a
.yaml file and you immediately get it parsed and re-emitted as
pretty JSON plus a small toolkit: a source
formatter, a structural tree, a
stats report, and the raw and hex views. There is no upload
and no server — the text is read directly by your browser, and the
parsing runs in a background Web Worker so the page never freezes. The raw
and hex views read only the bytes needed to paint the screen, so even a
multi‑gigabyte document opens instantly and privately.
--- documents become a JSON array. Syntax‑highlighted, copy or download. This is the default view.key: and each -, and long runs of blank lines collapsed. Block scalars are left byte‑for‑byte untouched. Copy or download the result.
YAML is indentation‑significant, so a naive parser must hold the whole
document in memory — impossible for tens of gigabytes. OmniViewer’s
raw and hex views are windowed: they read only the bytes needed to
paint the screen, so they open a 20 GB .yaml as readily as a
2 KB one. The JSON, tree and stats tabs parse a bounded prefix in memory
(and tell you when they do). If you want the full story — what YAML is,
its grammar, and the streaming, indentation‑stack algorithm that lets you
read a file far larger than RAM with real code — read
how to read a 20 GB YAML file.
YAML — “YAML Ain’t Markup Language” — was created by Clark Evans, Ingy döt Net and Oren Ben‑Kiki, first announced in 2001, as a human‑friendly data format built around indentation rather than brackets. The current specification is YAML 1.2 (2009), which made YAML a strict superset of JSON — so every JSON file is also valid YAML. It’s the format of choice for configuration: Kubernetes manifests, CI pipelines (GitHub Actions, GitLab CI), Ansible playbooks and Docker Compose files are all YAML.
A tiny example of YAML:
name: OmniViewer local: true formats: [json, csv, yaml]
| Aspect | YAML | JSON | TOML | XML |
|---|---|---|---|---|
| Shape | Nested, indentation-based | Nested objects & arrays | Sections & key-values | Nested elements & attributes |
| Comments | Yes (#) | No | Yes (#) | Yes |
| Human-friendliness | Best | Good | Good | Verbose |
| Typical use | Config & CI | APIs & config | Config | Documents & legacy feeds |
| Standard | YAML 1.2 spec | RFC 8259 / ECMA-404 | TOML spec | W3C XML |
OmniViewer opens every file format; YAML is one of the formats with dedicated tooling, powered by the same viewing engine as fastjsonviewer.com and hugecsv.com.
No. OmniViewer is a static page with no server-side processing: your .yaml file is read directly by your browser, and every tab — JSON, formatted, tree and stats — runs locally in a Web Worker. The file never leaves your computer.
The raw and hex views are windowed — they read only the bytes needed to paint the screen — so they open files of effectively unlimited size, up to 20 GB and beyond; the engine behind them has been tested in-browser with a 40 GB file. The JSON conversion, tree and stats parse the document in memory, so on very large files they work on a bounded prefix and tell you when they do.
Yes. The JSON tab parses your YAML and re-emits it as pretty-printed, syntax-highlighted JSON, ready to copy or download. Multiple documents separated by --- become a JSON array. It supports mappings, sequences, flow collections, quoted and block scalars, anchors and aliases, and merge keys.
Yes. A bar above the views reports whether the file parses as valid YAML, how many documents it contains and how many keys — or, if it does not parse, the error. Past a size threshold the check is skipped to stay fast, and it says so.
YAML (YAML Ain’t Markup Language) is a human-friendly data format that uses indentation instead of brackets, first released in 2001 and now at version 1.2 (2009). YAML 1.2 is a strict superset of JSON, so every JSON document is also valid YAML. YAML adds comments, anchors and aliases, block scalars for multi-line text, and multiple documents in one file.
The common shapes real config files use: block mappings and sequences nested by indentation, flow collections ([a, b] and {k: v}), plain, single- and double-quoted scalars, literal (|) and folded (>) block scalars with chomping, anchors (&a) and aliases (*a), simple merge keys (<<:), multiple documents, comments, and core-schema typing of nulls, booleans, integers and floats. It is a pragmatic subset, not a spec-complete parser.