What Is YAML? A Beginner-Friendly Guide to YAML Files
Learn what YAML files are, how they work, and why they're popular for configuration.
Filelume Editorial
Published 2026-07-24
YAML is a human-readable data serialization format that has become the standard for configuration files in modern software. If you have ever opened a .yml file and wondered what the indentation means, this guide is for you.
What is YAML?
YAML stands for "YAML Ain't Markup Language" — a recursive acronym that emphasizes its focus on data rather than documents. YAML uses indentation to represent structure, making it more readable than JSON or XML for many use cases.
# Application configuration
database:
host: localhost
port: 5432
name: myapp_production
credentials:
username: admin
password: secret
features:
- authentication
- logging
- caching
Where is YAML used?
YAML appears in many contexts:
- CI/CD pipelines: GitHub Actions, GitLab CI, and CircleCI use YAML for workflow definitions.
- Docker Compose: Service definitions are written in YAML.
- Kubernetes: All resource manifests use YAML.
- Static site generators: Configuration and frontmatter often use YAML.
- Application config: Many frameworks use YAML for settings files.
Why YAML over JSON?
YAML offers several advantages for human-authored files:
- No brackets or braces: Structure is expressed through indentation.
- Comments allowed: Unlike JSON, YAML supports
# comments. - Readability: YAML files are easier to scan visually.
- Anchors and aliases: Reusable values reduce duplication.
- Multi-document support: A single file can contain multiple YAML documents.
How Filelume renders YAML
Filelume provides three views for YAML files:
- Tree: An expandable hierarchy showing mappings, sequences, and scalars.
- Table: When the YAML contains arrays of objects, a table view is available.
- Formatted: Pretty-printed YAML with consistent indentation.
The Tree view handles anchors, aliases, merge keys, and multi-document files. Each document in a multi-document file gets its own selector.
Understanding YAML structure
YAML has three basic node types:
- Mappings: Key-value pairs (like objects in JSON).
- Sequences: Ordered lists (like arrays in JSON).
- Scalars: Single values — strings, numbers, booleans, null.
Indentation determines nesting. Consistent spacing is critical — YAML is whitespace-sensitive.
Security considerations
YAML parsers can be dangerous if they instantiate arbitrary classes from tags. Filelume uses a safe YAML 1.2 parser that:
- Blocks arbitrary custom tags
- Limits alias expansion to prevent bombs
- Enforces depth and node limits
- Never instantiates classes from YAML content
Exporting YAML data
When a YAML file contains tabular data (arrays of objects), Filelume enables:
- CSV export for spreadsheet compatibility
- XLSX export as a genuine Excel workbook
Non-tabular YAML files remain fully viewable through the Tree and Formatted views.
Start viewing YAML files
Open the YAML Viewer and load any .yaml or .yml file. The content stays in your browser, and you can navigate the structure using the Tree view.
All processing happens locally in your browser. Your files never leave your device.
Try the related tool
Open in Filelume