Cookies voor statistiek en advertenties
We gebruiken cookies voor statistiek en voor advertenties, allebei naar Google. Weigeren verandert niets aan wat je te zien krijgt.Lees de privacypagina
Hier zet je YAML naar INI om, gratis en zonder account: sleep het bestand hierboven erin en binnen een paar seconden staat het resultaat klaar om te downloaden. De omzetting gebeurt binnen je eigen browser, dus het bestand wordt nooit geüpload. Het werkt hetzelfde op Windows, macOS en Linux als op iPhone en Android, en het blijft werken als je de verbinding verbreekt.
Tot 100 bestanden tegelijk. Verschillende formaten door elkaar is prima.
Ze worden een voor een omgezet en samen in één ZIP gedownload.
YAML naar INI
INI kent precies één niveau groepering: een sectie tussen haakjes en de sleutels erin. YAML heeft zoveel niveaus als je wilt inspringen. De omzetting lost dat op door de hele boom af te lopen, een dotted path voor elke bladwaarde te bouwen, en elk pad eenmaal te splitsen — het deel voor de eerste punt wordt de sectie, de rest de sleutel.
Een YAML-mapping genaamd database, met daarin pool, met daarin timeout, geeft dus een sectie database en een sleutel pool.timeout. Elke waarde overleeft; alleen de vorm is weg. Een parser aan de andere kant ziet platte sleutels met punten erin en heeft geen manier om te weten welke punten nesting waren.
Een YAML-reeks heeft geen equivalent in INI, dus elk item wordt een sleutel genoemd naar zijn index. Een buildscript geschreven als een lijst van drie commando’s komt eruit als script.0, script.1 en script.2 binnen de job-sectie, in de geschreven volgorde.
Volgorde blijft behouden, wat het deel is dat telt, maar de conventie is van ons en geen standaard. Sommige INI-parsers begrijpen genummerde sleutels als een lijst, de meeste niet, en een paar verwachten juist een herhaalde sleutelnaam.
Een lijst op het topniveau van het document heeft geen sleutel om onder genummerd te worden, dus wordt hij een sectie genoemd naar de sleutel die hem bevatte, met 0, 1 en 2 als sleutelnamen. Een YAML-bestand waarvan de sleutel stages twee items bevat, geeft een sectie stages met een sleutel 0 en een sleutel 1.
Een sectie vol getallen is geldige INI en oogt vreemd voor wie het leest. Verwacht het doelprogramma een kommagescheiden lijst in één sleutel, voeg de lijst dan samen in de YAML voordat je omzet — geen instelling doet dat automatisch.
Een YAML-blokscalar — een pipe-teken gevolgd door een ingesprongen blok, hoe elk CI-bestand een shellscript bewaart — parseert tot één string met regeleindes erin. Tot 2026-08-09 schreef de schrijver die string precies zoals hij was, dus de regeleindes werden echte regelbreuken.
De schrijver zet een meerregelige waarde nu tussen aanhalingstekens en schrijft elke breuk als een backslash gevolgd door een n, zodat het script op één regel blijft en ongewijzigd terugkomt via deze converter. Blijft de INI-dialect belangrijker dan de rondgang, vouw de waarde dan tot één regel in de YAML.
Een YAML-sleutel zonder iets erna parseert naar null en wordt geschreven als de sleutel, een isgelijkteken, en niets. INI kan het verschil tussen een niet-ingestelde sleutel en een lege string niet uitdrukken, dus beide komen als lege string terug aan de andere kant.
Booleans worden geschreven als de woorden true en false. Dat is wat de bron zei, en het is niet wat elke INI-consument verwacht: Windows-configuratie en php.ini gebruiken On en Off. Aanhaling wordt alleen toegepast waar een waarde er anders niet gelijk zou uitkomen.
Een config die twee niveaus diep is, alleen scalars bevat en geen meerregelige waarden heeft, zet perfect om en hoeft niet bewerkt te worden. Heel veel toepassingsconfiguraties zijn precies die vorm, wat verklaart waarom dit paar bestaat.
Een bestand met lijsten van mappings niet. Een YAML-lijst van serverdefinities, elk met een host en een poort, wordt servers.0.host, servers.0.port, servers.1.host enzovoort binnen één sectie — een getrouwe codering en een onleesbare configuratie.
Een scalar helemaal bovenaan de YAML — een versie, een naam, een enkele vlag — heeft geen ouder om een sectie te worden. Die waarden worden eerst geschreven, voor elke sectiekop, wat het standaard INI-idioom is voor een globaal blok.
Sectieblokken volgen daarna, in de volgorde waarin hun sleutels in de YAML verschenen. Die volgorde is de moeite waard om te kennen als het bestand met het oog gecontroleerd wordt in plaats van door een machine, want het betekent dat de uitvoer in ongeveer dezelfde volgorde leest als de bron.
Commentaar valt weg. Beide formaten ondersteunen het, de parser negeert het bij het lezen, en de schrijver heeft niets terug te schrijven. De uitleg boven een timeout is precies het soort regel dat de YAML de moeite van het lezen waard maakte.
Een bestand met --- scheidingstekens faalt volledig in plaats van gedeeltelijk om te zetten. Dat is bewust: een YAML-stroom kan meerdere documenten bevatten, een INI-bestand beschrijft er één, en stilzwijgend het eerste document kiezen zou een config opleveren die het grootste deel van zichzelf mist.
De omzetting loont wanneer de YAML groot, plat en saai is. Ze loont niet wanneer de bron klein is — twintig instellingen zijn sneller opnieuw getypt dan omgezet en gerepareerd, en overtypen dwingt je elke waarde eenmaal te lezen.
Ook het verkeerde gereedschap wanneer de bestemming een specifiek INI-dialect verwacht. Programma’s die aangehaalde waarden, On/Off-booleans, kommagescheiden lijsten of herhaalde sleutels willen, vragen om conventies die deze schrijver niet produceert. Zet om om de waarden uit de boom te halen, en herstructureer daarna voor de parser die je echt voedt.
| YAML | INI | |
|---|---|---|
| Volledige naam | YAML Ain't Markup Language | INI-configuratie |
| Bestandsextensie | .yaml, .yml | .ini, .cfg, .conf |
| Mediatype | application/yaml | text/plain |
| Voor het eerst gepubliceerd | 2001 | 1985 |
| Specificatie | YAML 1.2 | — |
| Licentie | Open standaard | Open standaard |
| Stand van zaken | Actueel | Oud, wordt overal nog gelezen |
| Opent in een browser | Geen browser | Geen browser |
| In plaats daarvan overwogen | JSON, TOML | TOML |
Opmerkingen gaan mee. YAML en INI hebben allebei een syntaxis voor commentaar, dus notities voor wie het bestand daarna beheert verdwijnen niet stilletjes.
Visual Studio Code leest zowel YAML als INI, dus je kunt het resultaat naast het origineel leggen zonder een tweede programma.
YAML verscheen in 2001. Het is vastgelegd in YAML 1.2, en dat is de moeite waard als het bestand het gereedschap moet overleven dat het schreef.
INI stamt uit 1985. Notepad en Visual Studio Code lezen het formaat.
INI verscheen in 1985 en YAML in 2001. Het oudste is doorgaans het veiligste bestand om te overhandigen; het nieuwste doet hetzelfde werk met minder bytes.
Nee. Deze omzetting gebeurt volledig in je browser, dus het bestand verlaat je apparaat niet. Je kunt het zelf nagaan: open het netwerktabblad van de ontwikkelaarshulpmiddelen en zet iets om. Je ziet de pagina zelf en de verzoeken voor statistiek en advertenties waarmee deze dienst betaald wordt, en geen enkel verzoek dat je bestand meeneemt.
Ja. Geen account, geen watermerk en geen dagtegoed dat opraakt: het draait op je eigen machine, dus je mag zo vaak terugkomen als je wilt. De browser verwerkt bestanden tot 100 MB, 100 tegelijk.
YAML en INI beschrijven de inhoud op fundamenteel andere manieren. De omzetting is daarom een reconstructie en geen kopie: getrouw, maar niet byte voor byte identiek. INI kent geen nesting. Alles onder één niveau wordt platgeslagen tot sleutels met punten ertussen.
Voor de omzetting niet: die gebeurt in de browser die je al open hebt staan. Om het resultaat te openen heb je daarna het programma nodig waarmee je apparaat INI Configuration normaal weergeeft.