YAML linter

Style, portability and hygiene rules, reported in their own layer. A trailing space is never shown as a syntax error, and a valid-but-ambiguous value never hides behind a green tick.

true/false only are booleans; 0o17 is octal; yes/no/on/off are strings.

162 chars · 13 lines · rev 1Not saved yet

Tab inserts two spaces (press Esc then Tab to leave the editor). Drop a file to open it. Positions are line:column in UTF-16 code units.

Paste YAML or open a file to validate

rev 1 · YAML 1.2 · core schema · no schema

  1. —

  2. —

  3. No schema selected

  4. —

Results appear here.

Rules that catch real bugs

Portability rules compare the YAML 1.1 and 1.2 readings of every plain scalar: country: no, mode: 0755, ports: [22:22], enabled: on. Hygiene rules flag unused or redefined anchors, implicit nulls and non-string keys. A heuristic secret hint looks for AWS keys, private key blocks and literal passwords — clearly labelled heuristic and redacted in reports.

Policy without losing evidence

Choose default, strict or advisory policy, or override any rule: off (not run, listed in the report), muted (run and counted, hidden by default), info, warning or error. Overrides are shown on every finding. Suppressions need a reason, may expire, and stay in the full report.

Questions

Is this the same as yamllint?

No. Rules are re-implemented for this engine and documented on the Rules page with versions. Names overlap where the idea is the same (trailing-spaces, line-length).

Can I write my own rules?

Yes, as a declarative YAML pack: a select path (services.*.image) plus allowlisted assertions (require, type, in, matches, min, uniqueBy …). No JavaScript is ever executed.

Is my YAML uploaded anywhere?

No. Parsing, schema validation, rules, fixes and reports all run in your browser (validation runs in a Web Worker). There is no backend, no account and no content analytics. Drafts and history are stored only in this browser’s IndexedDB, and you can clear them or switch to memory-only mode.