← Blog dev

The YAML error that's actually an invisible tab character, explained by line number

Scan to open this page

The YAML error that's actually an invisible tab character, explained by line number

Before building YAML to JSON Converter, we looked at two things that trip people up converting YAML specifically: how converters handle anchors, and how they handle the single most confusing YAML syntax error there is.

Some converters just give up on anchors and aliases

Research turned up at least one converter that explicitly reports YAML anchors (&name), aliases (*name), and merge keys (<<) as unsupported rather than resolving them — which means a common config pattern (a "defaults" block reused across sections) doesn't convert at all. This tool fully resolves anchors, aliases, and merge keys into their expanded values in the JSON output, including the "<<: *defaults" pattern used constantly in Docker Compose and CI configs — we specifically verified this merges into the parent object rather than leaving a literal "<<" key in the output.

The tab character you can't see is the bug

YAML strictly forbids tabs for indentation — spaces only. The problem, as developer discussions repeatedly point out, is that a tab and a series of spaces render identically in most editors, and the parser's error message is often generic and points at the wrong line. This tool scans for tab-indented lines directly and tells you the exact line number where the tab is, alongside the parser's own message — so you're not stuck guessing.

Try YAML to JSON Converter →

#YamlToJsonConverter#ConvertYamlToJsonOnline#YamlAnchorsAliasesJson#YamlTabCharacterError