YAML-formatter
Formatteer, valideer en converteer YAML-documenten met syntaxisaccentuering en foutdetectie
YAML-invoer
Geformatteerde Uitvoer
Inspecteur
Geavanceerde Opties
Vergelijk met een andere YAML
Stuur dit document naar Data Diff en plak een tweede versie om te zien wat er is gewijzigd.
Validatie met de exacte foutpositie
De validatie wordt bij elke toetsaanslag uitgevoerd met de js-yaml 1.2-parser. Geldige documenten krijgen live tellingen van documenten, mappings, sequences, sleutels en diepte. Ongeldige documenten tonen de exacte regel en kolom, een mogelijke oorzaak en een markering op de foutieve positie — in plaats van alleen "syntax error".
Veelvoorkomende YAML-fouten die deze tool exact aanwijst
Deze fouten veroorzaken het merendeel van alle ongeldige YAML. Elk ervan wordt gedetecteerd met een positie en een mogelijke oorzaak:
Verkeerde inspringing
Een onderliggende regel die minder is ingesprongen dan zijn bovenliggende, of regels op hetzelfde niveau die niet uitgelijnd zijn. Wordt meestal gemeld als "bad indentation of a mapping entry" op de exacte regel.
TAB-teken
YAML staat geen tabs toe in de inspringing. De parser meldt "found a tab character that violates indentation" en markeert de foutieve regel.
Dubbele sleutel
Dezelfde sleutel tweemaal in één mapping. js-yaml meldt "duplicated mapping key" met de regel van het tweede voorkomen.
Ontbrekende dubbele punt of spatie
Een sleutel zonder waarde ("key key2") of een dubbele punt die aan de sleutel vastzit ("key:value" is een gewone tekenreeks, geen paar). Gemeld als "could not find expected ':'".
Voor / Na
Links een geminifieerd Kubernetes-manifest, rechts hetzelfde document opgemaakt met een inspringing van 2 spaties. Structuur, boom en paden worden bijgewerkt vanuit het geparseerde document.
{apiVersion: apps/v1, kind: Deployment, metadata: {name: web-app}, spec: {replicas: 3, template: {metadata: {labels: {app: web}}}}}
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-app
spec:
replicas: 3
template:
metadata:
labels:
app: web
Korte YAML-naslag (YAML 1.2)
- Inspringing is structuur: alleen spaties — TAB-tekens zijn voor inspringing nooit toegestaan.
- Een dubbele punt moet worden gevolgd door een spatie om een scheiding tussen sleutel en waarde te zijn: "key: value", niet "key:value".
- Scalars worden volgens het core-schema naar typen omgezet: true/false (booleans), integers, floats, null (~ / null / leeg). Let op: "yes"/"no" zijn in 1.2 gewone tekenreeksen.
- Meerdere documenten in één bestand worden gescheiden door een regel "---"; "..." sluit een document af.
- Anchors (&base) en aliases (*base) houden bestanden DRY; merge keys ("<<: *base") nemen mappings over.
Volgende stappen met deze data
Formatteren is de eerste stap. Ga verder met de workflow zonder je browser te verlaten:
Veelgestelde Vragen
Veelvoorkomende vragen over Yaml Formatter-opmaak beantwoord
De formatter volgt de YAML 1.2-specificatie, wat compatibiliteit garandeert met moderne tools zoals Kubernetes, Docker Compose, GitHub Actions en andere cloud-native platforms.
Ja, met de bidirectionele conversiefunctie kun je YAML naar JSON en JSON naar YAML converteren, waarbij gegevenstypen, geneste structuren en waar toepasselijk opmerkingen behouden blijven.
Zeker. De formatter is ontworpen om Kubernetes-manifests, Docker Compose-bestanden, CI/CD-pipelines en andere YAML-bestanden met meerdere documenten te verwerken, met correcte scheiding van secties.
De validator controleert de consistentie van de inspringing, het juiste gebruik van dubbele punten en streepjes, de balans van aanhalingstekens rond strings en verwijzingen naar anchors en aliases, en toont regelspecifieke foutmeldingen voor snel debuggen.
Ja, de formatter verwerkt YAML-anchors (&), aliases (*) en merge keys (<<) correct en behoudt deze DRY-functies tijdens het formatteren van de omliggende structuur.
YAML 1.2, de huidige specificatie van yaml.org - de versie waar Kubernetes-, docker-compose- en GitHub Actions-documenten op zijn gericht. YAML 1.2 maakte JSON tot een geldige subset en maakte het parsen van booleans strenger; de formatter houdt het aanhalingstekengebruik expliciet waar 1.1-parsers (nog steeds gangbaar in Python PyYAML) waarden zoals "no" of "0777" verkeerd zouden interpreteren.
YAML-anchors, aliases en block scalars geven opmerkingen ongewijzigd door, maar een opmerking die aan een sleutel hangt waarvan de inspringing verandert, schuift mee met het inspringingsniveau. De formatter verwijdert nooit opmerkingen - hij verplaatst ze minimaal zodat ze verbonden blijven met de node die ze documenteren.
Het wordt gemarkeerd: kale waarden zoals NO, no, ON, on, yes en n worden tijdens het formatteren automatisch tussen aanhalingstekens geplaatst, zodat YAML 1.1-parsers ze niet naar booleans kunnen omzetten. De landcodelijst [NO, SE, DK] blijft drie strings. YAML 1.2 beschouwt uitsluitend true/false als booleans, maar quoting is de enige uitvoer die onder beide versies veilig is.
Autoritatieve referenties
Standaarden en officiële documentatie die de formaten definiëren waarmee deze tool werkt.
Gerelateerde Tools
JSON Formatter
Formatteer, valideer en verfraai JSON-gegevens met intelligente inspringing en syntaxisaccentuering
JSON-herstel
Repareer direct kapotte of ongeldige JSON: ontbrekende komma's, aanhalingstekens en haakjes, trailing comma's en afgekapte LLM-output, in je browser
JSONL-formatter
Formatteer JSON Lines-bestanden (NDJSON), valideer elke regel en converteer tussen JSON en JSONL – in je browser