Universal YAML Formatter & Validator

Standard 2-space indentation, forbidden tab detector & 1-click fix, Kubernetes multi-document support, and bidirectional YAML ⇄ JSON converter.

Y!

Universal YAML Formatter, Validator & JSON Converter Studio

DevOps 2-space indentation, forbidden tab detector & 1-click fix, K8s multi-document (---), YAML ⇄ JSON converter.

🚀
Lines: Characters: Documents:
🛡️ YAML 1.2 Compliant • 100% Client-Side Safe

Why a Single Hidden Tab in a YAML File Can Crash Your Entire Kubernetes Cluster

It is minutes before a production deployment. You make a minor tweak in your docker-compose.yml or Kubernetes Helm values file. You commit and push, only for your CI/CD pipeline to crash instantly with an unforgiving error: "YAML Exception: tabs are not allowed for indentation".

Unlike JSON with curly braces {} or XML with explicit closing tags, YAML relies purely on whitespace indentation to represent parent-child object hierarchies. To maintain absolute consistency across operating systems, the official YAML standard strictly prohibits the use of Tab characters (\t). Yet in most text editors, a Tab and two spaces look visually indistinguishable!

Compounding the challenge is the infamous "The Norway Problem": country code country: NO gets automatically coerced into a boolean false unless surrounded by explicit quotes. PhuDuy Tools YAML Studio eliminates this friction: Automatic tab detection with a 1-click space converter, pinpoint line and column error diagnostics, multi-document --- support, and seamless bidirectional YAML ⇄ JSON conversion 100% Client-Side.

📊 YAML Syntax Gotchas & Best Practices Cheat-Sheet

Common pitfalls encountered when authoring Docker Compose, Kubernetes, and GitHub Actions manifests:

Syntax Scenario Vulnerable / Broken Syntax Valid Recommended Syntax Technical Rationale
Indentation character Using Tab (\t) 2 spaces Tabs are forbidden by specification to prevent editor configuration discrepancies.
Key-Value Colon image:nginx (no space) image: nginx (with space) Colons separating keys from scalar values require at least one trailing space.
List Dash -port: 80 (attached) - port: 80 (space after dash) Sequence marker dashes require a whitespace character before nested values.
The Norway Problem country: NO country: "NO" Unquoted NO, YES, ON, OFF evaluate as booleans; always quote country codes.
Software Versions version: 3.10 version: "3.10" 3.10 gets truncated to float 3.1; versions must be quoted strings.

🇳🇴 Understanding "The Norway Problem" in YAML History

In YAML 1.1, the specification aimed for maximum human convenience by mapping a wide array of natural language affirmative and negative tokens to booleans: y, Y, yes, Yes, YES, n, N, no, No, NO, true, false, on, off.

The unintended consequence was that when developers input standard ISO 3166-1 alpha-2 country codes, NO (the abbreviation for Norway) was automatically parsed as false. Entire international delivery databases broke because Norway was systematically disabled!

💡 Modern YAML 1.2 Core Standards:

PhuDuy Tools runs on the official YAML 1.2 JSON Schema specification, restricting booleans exclusively to explicit true and false tokens while preserving country codes as authentic strings.

🚀 Quick 3-Step Guide to Format & Validate YAML

1

Paste Content or Upload File

Paste Docker Compose, Kubernetes manifests, or GitHub Actions pipelines into the workspace, or upload a .yaml file.

2

Auto-Detect Tabs & Validate

The engine automatically detects forbidden tab characters and provides a 1-click space converter with precise line error pinpoints.

3

Receive Clean 2-Space Output

Copy standard DevOps 2-space indented YAML to your clipboard or convert to JSON with one click.

✨ 4 Market-Leading Features Built for DevOps Engineers

🛠️

1-Click Forbidden Tab Sanitizer

Never manually track down invisible tab characters across hundreds of lines again. One click converts every \t into 2 clean spaces.

☸️

Kubernetes Multi-Document (---)

Seamlessly parses and formats multi-resource manifests containing Deployments, Services, and Ingress blocks in a single configuration file.

🔄

Bidirectional YAML ⇄ JSON Conversion

Easily transform declarative YAML into structured JSON for API payloads and database storage with structure preservation.

🔒

100% Client-Side Cluster Security

Sensitive server tokens, database credentials, and infrastructure configurations are parsed entirely in your browser without cloud transmissions.

❓ YAML Configuration Frequently Asked Questions

Why are Tab characters strictly prohibited in YAML? ▼

Tab character rendering width varies arbitrarily (often between 2, 4, or 8 columns) depending on the text editor or terminal configuration. Because YAML structure is determined entirely by indentation depth, tab characters cause ambiguous parsing across distributed deployment pipelines. The YAML specification resolves this by banning tabs outright.

What is the standard indentation for Kubernetes and Docker? ▼

The industry standard for Kubernetes manifests, Docker Compose files, Ansible playbooks, and GitHub Actions workflows is strictly 2 spaces per indentation level. This prevents excessive horizontal scrolling on nested specs.

What is the purpose of triple hyphens (---) in YAML? ▼

Triple hyphens --- serve as official document separators. They allow multiple independent resources (such as a Deployment and a corresponding Service) to be defined inside a single physical manifest file.

Are my production credentials or secrets sent to your servers? ▼

Never. All parsing, tab sanitization, and formatting are executed locally inside your device memory via client-side JavaScript. Zero bytes of sensitive configuration data are transmitted to external servers.

How does YAML differ fundamentally from JSON? ▼

Every valid JSON document is technically valid YAML 1.2. However, YAML is optimized for human ergonomics, supporting inline comments (#), omitting required curly braces and quotes around keys, and enabling data reuse with anchors (& and *).