Password Generator
Cryptographically random passwords with a live entropy meter.
Utilities & Converters
YAML to JSON and back, with the gotchas flagged.
In YAML 1.1, the unquoted values no, yes, on, off, true and false are all booleans.
The country code for Norway is NO. A list of country codes written unquoted turns Norway into the boolean false — a real, repeatedly-reported bug with a real name.
YAML 1.2 narrowed this to true and false only, but a great deal of tooling still implements 1.1 semantics. The safe habit is to quote any string that could be read as something else, always.
version: 010 can parse as octal 8.12:30 can become 750 in YAML 1.1.Quoting removes almost all of these. If a value is meant to be a string, quote it — the cost is two characters and the alternative is a class of bug that only appears with particular data.
YAML has anchors and aliases for reuse, multi-document files separated by ---, comments, and several block styles for multi-line strings.
None of those survive a trip through JSON. Anchors are expanded, comments vanish, and only the first document of a multi-document file converts.
That matters most for configuration files, where comments are frequently the only documentation. Converting a commented YAML config to JSON and back silently deletes the explanations.
In YAML 1.1, unquoted no and yes are booleans — so the country code NO becomes false. It is a real and repeatedly-reported bug. Quote any string that could be read as something else.
Yes. YAML is a superset of JSON, so every JSON document parses as YAML. The reverse is not true, which is where the conversion problems live.
A leading zero can be read as octal in YAML 1.1, so 010 becomes 8. Quote version numbers and anything else where the literal text matters.
No. JSON has no comment syntax, so they are deleted. That matters most in configuration files where comments are often the only documentation.
No. Tabs are illegal for indentation in YAML and the resulting parse error is often unhelpful about why. Use spaces.