YAML Validator & Linter
Validate YAML syntax in your browser with line-numbered errors. Catches indentation and structure problems before your CI does. Free.
About this tool
Validate YAML before your deployment pipeline does it for you. Indentation errors, duplicate keys, and malformed structures are reported with their line numbers.
This checks syntax, not semantics: a file can be valid YAML and still be an invalid Kubernetes manifest. But nearly all 'my pipeline rejected the file' errors are the syntax kind this catches.
Common uses
- Check a Kubernetes manifest or GitHub Actions workflow before pushing.
- Find the indentation slip in a deeply nested config.
- Validate YAML front matter from static site content.
Automate via API
The same conversion is available as a REST endpoint for scripts, pipelines, and backends:
curl -X POST https://payloadly.com/api/v1/tools/yaml-validator \ -H "Content-Type: text/plain" \ -H "X-Api-Key: YOUR_API_KEY" \ --data-binary @input.yaml
Worked examples
Real payloads from tools people use daily, with the exact output this converter produces. Every example runs in your browser, so you can load one and adapt it to your own data.
Validate a GitHub Actions workflow
A single mis-indented step makes Actions reject the whole workflow; check it here before you push.
name: CI
on:
push:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm testValid YAML. Root value : object with 3 keys Input size : 169 B (11 lines)
Validate a docker-compose.yml
Confirms your Compose file parses as valid YAML before docker compose up complains about it.
services:
web:
image: nginx:1.27
ports:
- "80:80"
db:
image: postgres:16
environment:
POSTGRES_PASSWORD: secretValid YAML. Root value : object with 1 key Input size : 143 B (9 lines)
Validate a Kubernetes manifest
Catches the indentation slips that make kubectl apply fail, before it reaches the cluster.
apiVersion: v1
kind: Service
metadata:
name: web
spec:
selector:
app: web
ports:
- port: 80
targetPort: 8080Valid YAML. Root value : object with 4 keys Input size : 128 B (10 lines)
YAML notes
YAML is a human-friendly superset of JSON used heavily in Kubernetes manifests, GitHub Actions workflows, Docker Compose files, and CI/CD pipelines. Indentation is structural, and unquoted scalars are type-coerced.
- Indentation defines structure; tabs are not allowed for indentation.
- Unquoted values like `no`, `on`, or `1.0` may be coerced to booleans or numbers.
- Comments (`# ...`) cannot survive a round-trip through JSON.
Frequently asked questions
Is my data uploaded to a server?
No. This tool runs entirely in your browser using JavaScript, and there are no ads on the page. Nothing you paste or drop here is uploaded, logged, or stored, and you can verify that yourself: open your browser's developer tools and watch the Network tab while you convert (no requests leave the page), or disconnect from the internet after the page loads and keep working.
Is there a size limit or a fee?
The browser tool is free with no signup and comfortably handles files up to tens of megabytes (limited by your device's memory). For automated or bulk processing inside your own scripts and pipelines, use the paid REST API.
Related tools
Reformat YAML in your browser: normalize indentation to 2 spaces and consistent flow style. Validates while formatting. Free and private.
Validate JSON in your browser with precise line and column error reporting. Get a structural summary of valid documents. Free, no upload.
Validate TOML files like pyproject.toml and Cargo.toml in your browser. Spec-compliant parser with clear error messages. Free and private.
Validate XML well-formedness in your browser with exact line and column error locations. Free, private, nothing leaves your machine.