YAML-formatter

Het opmaken gebeurt in deze browser. Je YAML wordt niet geüpload.

Plak YAML met maximaal 1.000.000 tekens en maximaal 100 documenten. Het opmaken gebeurt in deze browser.

YAML is vergevingsgezind over syntaxis en onverbiddelijk over inspringing. Eén spatie verkeerd en een sleutel verandert geruisloos in een lijstitem, en gemengde inspringing maakt reviews een straf. Deze formatter parseert je invoer met de js-yaml-engine (YAML 1.2 core schema) rechtstreeks in je browser en schrijft die daarna opnieuw uit met de inspringing, collectiestijl, aanhalingstekens, sleutelvolgorde en regelbreedte die jij kiest, zodat configs nette diffs opleveren in versiebeheer en leesbaar blijven voor alle bijdragers.

Zo formatteer je YAML

  1. 1

    Plak je YAML

    Tot 1.000.000 tekens en tot 100 documenten in één stream. Er wordt niets geüpload: het parsen gebeurt in je browser.

  2. 2

    Kies opties

    Inspringbreedte, blok- of flow-stijl, aanhalingstekens, sleutelsortering en regelbreedte.

  3. 3

    Formatteer

    De tool bouwt elk document opnieuw op met canonieke spaties en de stijl die je koos.

  4. 4

    Kopieer en commit

    De uitvoer is structureel identieke YAML, klaar om terug te plakken in je config.

Voor en na

Rommelige invoer:

server:
  port:   8080
  hosts: ["api.example.com",  "api2.example.com"]
  timeout:  30
  debug: true

Geformatteerd (2 spaties, blokstijl):

server:
  port: 8080
  hosts:
    - api.example.com
    - api2.example.com
  timeout: 30
  debug: true

Opmaakopties

Optie Waarden Standaard
Inspringbreedte 2, 4 2
Collectiestijl Blok, flow Blok
Aanhalingstekens Minimaal, dubbel, enkel Minimaal
Sleutels sorteren Oorspronkelijk, alfabetisch Oorspronkelijk
Regelbreedte 80, 120, onbeperkt 120

Regels voor aanhalingstekens

Minimaal is meestal wat je wilt: strings blijven zonder aanhalingstekens, tenzij dat onveilig zou zijn. De formatter voegt automatisch aanhalingstekens toe voor:

  • Legacy-booleans als strings: yes, no, on, off, y, n. YAML 1.2 leest ze al als strings, maar veel parsers volgen nog YAML 1.1, waar een no zonder aanhalingstekens false wordt. De formatter zet ze in de uitvoer altijd tussen aanhalingstekens, zodat de beruchte Norway-bug (NO als false gelezen in een landenlijst) niemand kan raken die jouw bestand inleest.
  • Getallen als strings: '007', '3.14'. Zonder aanhalingstekens zouden ze als integers of floats worden geparseerd.
  • Strings met tekens zoals :, #, [, { of spaties aan het begin, waar kale uitvoer de structuur zou veranderen.

Opschoningen bij elke run

  • Spaties aan het regeleinde. Verwijderd.
  • Gemengde of onregelmatige inspringing. Genormaliseerd naar jouw gekozen inspringbreedte.
  • Lege regels binnen collecties. Verwijderd.
  • Tabs in de inspringing. YAML verbiedt ze; de parser weigert de invoer met een duidelijke foutmelding die naar de regel wijst, zodat je het kunt herstellen in plaats van een bestand te leveren dat andere parsers weigeren.

Commentaar, ankers en merge-keys

Formatteren normaliseert het documentmodel, en dat heeft grenzen die je wilt kennen voordat je commit:

  • Commentaar wordt verwijderd. De parser lost het document op tot data, dus #-commentaar overleeft het formatteren niet. Bewaar een kopie als je commentaar belangrijk is.
  • Ankers en aliassen worden opgelost. Knopen die via een alias gedeeld worden blijven gedeeld, maar worden opnieuw uitgeschreven met gegenereerde namen zoals &ref_0; de oorspronkelijke ankernamen blijven niet bewaard.
  • Merge-keys (<<:) worden opgelost tot gewone mappings met de samengevoegde waarden op hun plek.

Streams met meerdere documenten

Streams met meerdere documenten worden ondersteund: elk document wordt apart geformatteerd en weer samengevoegd met de ----scheiding, tot 100 documenten per run.

Veelgestelde vragen

Structuur en waarden blijven identiek: alleen de weergave verandert (inspringing, aanhalingstekens, flow of blok, sleutelvolgorde als je sorteren inschakelt). Twee dingen blijven bewust niet behouden: commentaar wordt verwijderd en ankernamen worden opnieuw gegenereerd.

Als een kale string als iets anders zou worden geparseerd, zijn aanhalingstekens nodig voor de veiligheid. Veelvoorkomende gevallen: sleutels of waarden die alleen uit cijfers bestaan, strings met : of #, en legacy-booleans zoals yes en no die YAML 1.1-parsers als true/false zouden lezen.

Nee. De stijloptie geldt voor het hele document: blok zet elke collectie op eigen regels, flow toont collecties inline. Formatteer twee keer met verschillende opties als je wilt vergelijken.

Nee. Parsen en formatteren gebeuren in je browser met de meegeleverde js-yaml-engine. Je YAML gaat niet via de server, wordt niet opgeslagen en komt nooit in het adres van de pagina; het leeft alleen in deze browsersessie zodat de stapsgewijze weergave je resultaat kan tonen.

Gerelateerde tools