<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-os vector-sticky-header-enabled" lang="en" dir="ltr"><head>
    <meta charset="UTF-8">
    <title>YAML</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" type="image/png" href="./_res_/favicon.png">
    <link rel="canonical" href="https://en.wikipedia.org/wiki/YAML"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.phonos.icons.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.phonos.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
    <meta name="ResourceLoaderDynamicStyles" content="">
    
    <link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
    <link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
    <link rel="stylesheet" type="text/css" href="./_res_/footer.css">
    <link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
  </head>
  <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-YAML rootpage-YAML skin-vector-2022 action-view">
    <div class="mw-page-container">
      <div class="mw-page-container-inner">
        <div class="mw-content-container">
          <main id="content" class="mw-body">
            <header class="mw-body-header vector-page-titlebar">
              <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">YAML</span></h1>
            </header>
            <a id="top"></a>
            <div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
              <div id="contentSub">
                <div id="mw-content-subtitle"></div>
              </div>
              <div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1320445320">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end   https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">For the CSS framework, see <a href="YAML_(framework)" title="YAML (framework)">YAML (framework)</a>.</div>
<style data-mw-deduplicate="TemplateStyles:r1316064257">
/* start https://en.wikipedia.org/ */


.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent;color:inherit}.mw-parser-output .infobox-3cols-child{margin:-3px}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}


/* end   https://en.wikipedia.org/ */
</style><table class="infobox"><tbody><tr><th colspan="2" class="infobox-above" style="padding-bottom: 0.15em;background-color:#e0e0e0;color:inherit;">YAML</th></tr><tr><td colspan="2" class="infobox-image"><span typeof="mw:File"><img src="./_assets_/0c70a452f799bfe840676ee341124611/Official_YAML_Logo.svg.png" decoding="async" width="64" height="59" class="mw-file-element" data-file-width="512" data-file-height="471" loading="lazy"></span></td></tr><tr><th scope="row" class="infobox-label" style="line-height: 1.2; padding-right: 0.65em;"><a href="Filename_extension" title="Filename extension">Filename extensions</a></th><td class="infobox-data" style="line-height: 1.35;"><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">.yaml</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">.yml</code></td></tr><tr><th scope="row" class="infobox-label" style="line-height: 1.2; padding-right: 0.65em;"><a href="Media_type" title="Media type">Internet media&nbsp;type</a></th><td class="infobox-data" style="line-height: 1.35;"><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">application/yaml</code><sup id="cite_ref-rfc9512_1-0" class="reference"><a href="#cite_note-rfc9512-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></td></tr><tr><th scope="row" class="infobox-label" style="line-height: 1.2; padding-right: 0.65em;"><a href="Uniform_Type_Identifier" title="Uniform Type Identifier">Uniform Type Identifier&nbsp;(UTI)</a></th><td class="infobox-data" style="line-height: 1.35;">public.yaml<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup></td></tr><tr><th scope="row" class="infobox-label" style="line-height: 1.2; padding-right: 0.65em;">Initial release</th><td class="infobox-data" style="line-height: 1.35;">11&nbsp;May 2001<span style="display:none">&nbsp;(<span class="bday dtstart published updated">2001-05-11</span>)</span></td></tr><tr><th scope="row" class="infobox-label" style="line-height: 1.2; padding-right: 0.65em;"><a href="Software_release_life_cycle" title="Software release life cycle">Latest release</a></th><td class="infobox-data" style="line-height: 1.35;"><div style="display: inline-block; line-height: 1.2em; padding: .1em 0;">1.2 (Revision 1.2.2)<br>1&nbsp;October 2021<span style="display:none">&nbsp;(<span class="bday dtstart published updated">2021-10-01</span>)</span> </div></td></tr><tr><th scope="row" class="infobox-label" style="line-height: 1.2; padding-right: 0.65em;">Type of format</th><td class="infobox-data" style="line-height: 1.35;">Data interchange</td></tr><tr><th scope="row" class="infobox-label" style="line-height: 1.2; padding-right: 0.65em;"><span class="nowrap"><a href="Open_file_format" title="Open file format">Open format</a>?</span></th><td class="infobox-data" style="line-height: 1.35;">Yes</td></tr><tr><th scope="row" class="infobox-label" style="line-height: 1.2; padding-right: 0.65em;">Website</th><td class="infobox-data" style="line-height: 1.35;"><span class="official-website"><span class="url"><a rel="nofollow" class="external text" href="https://yaml.org/">yaml<wbr>.org</a></span></span> <span class="mw-valign-text-top" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q281876#P856" title="Edit this at Wikidata" class="external"><img alt="Edit this at Wikidata" src="./_assets_/c8f24dc75f9c782269c846c9b17e400f/OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" data-file-width="20" data-file-height="20" loading="lazy"></a></span></td></tr></tbody></table>
<p><b>YAML</b> (<span class="rt-commentedText nowrap"><span class="IPA nopopups noexcerpt" lang="en-fonipa">/<span style="border-bottom:1px dotted"><span title="/ˈ/: primary stress follows">ˈ</span><span title="/j/: 'y' in 'yes'">j</span><span title="/æ/: 'a' in 'bad'">æ</span><span title="'m' in 'my'">m</span><span title="/əl/: 'le' in 'bottle'">əl</span></span>/</span> <span class="ext-phonos"><span data-nosnippet="" id="ooui-php-1" class="noexcerpt ext-phonos-PhonosButton ext-phonos-PhonosButton-emptylabel oo-ui-widget oo-ui-widget-enabled oo-ui-buttonElement oo-ui-buttonElement-frameless oo-ui-iconElement oo-ui-buttonWidget" data-ooui="{&quot;_&quot;:&quot;mw.Phonos.PhonosButton&quot;,&quot;href&quot;:&quot;\/\/upload.wikimedia.org\/wikipedia\/commons\/transcoded\/7\/7f\/En-us-YAML.oga\/En-us-YAML.oga.mp3&quot;,&quot;rel&quot;:[&quot;nofollow&quot;],&quot;framed&quot;:false,&quot;icon&quot;:&quot;volumeUp&quot;,&quot;data&quot;:{&quot;ipa&quot;:&quot;&quot;,&quot;text&quot;:&quot;&quot;,&quot;lang&quot;:&quot;en&quot;,&quot;wikibase&quot;:&quot;&quot;,&quot;file&quot;:&quot;En-us-YAML.oga&quot;},&quot;classes&quot;:[&quot;noexcerpt&quot;,&quot;ext-phonos-PhonosButton&quot;,&quot;ext-phonos-PhonosButton-emptylabel&quot;]}"><a role="button" tabindex="0" href="https://upload.wikimedia.org/wikipedia/commons/transcoded/7/7f/En-us-YAML.oga/En-us-YAML.oga.mp3" rel="nofollow" aria-label="Play audio" title="Play audio" class="oo-ui-buttonElement-button"><span class="oo-ui-iconElement-icon oo-ui-icon-volumeUp"></span><span class="oo-ui-labelElement-label"></span><span class="oo-ui-indicatorElement-indicator oo-ui-indicatorElement-noIndicator"></span></a></span><sup class="ext-phonos-attribution noexcerpt navigation-not-searchable">ⓘ</sup></span></span> <i title="English pronunciation respelling"><span style="font-size:90%">YAM</span>-əl</i>) is a <a href="Human-readable" class="mw-redirect" title="Human-readable">human-readable</a> <a href="Data_serialization_language" class="mw-redirect" title="Data serialization language">data serialization language</a>. It is commonly used for <a href="Configuration_file" title="Configuration file">configuration files</a> and in applications where data is being stored or transmitted. YAML targets many of the same communications applications as <a href="Extensible_Markup_Language" class="mw-redirect" title="Extensible Markup Language">Extensible Markup Language</a> (XML) but has a minimal <a href="Syntax_(programming_languages)" title="Syntax (programming languages)">syntax</a> that intentionally differs from <a href="Standard_Generalized_Markup_Language" title="Standard Generalized Markup Language">Standard Generalized Markup Language</a> (SGML).<sup id="cite_ref-1.0_3-0" class="reference"><a href="#cite_note-1.0-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> It uses <a href="Python_(programming_language)" title="Python (programming language)">Python</a>-style indentation to indicate nesting<sup id="cite_ref-1.0_3-1" class="reference"><a href="#cite_note-1.0-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> and does not require quotes around most string values (it also supports <a href="JSON" title="JSON">JSON</a> style <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">[...]</code> and <code>{...}</code> mixed in the same file).<sup id="cite_ref-YAML_Version_1.2_4-0" class="reference"><a href="#cite_note-YAML_Version_1.2-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p><p>Custom data types are allowed, but YAML natively encodes <a href="Scalar_(computing)" class="mw-redirect" title="Scalar (computing)">scalars</a> (such as <a href="String_(computer_science)" title="String (computer science)">strings</a>, <a href="Integer_(computer_science)" title="Integer (computer science)">integers</a>, and <a href="Floating_point" class="mw-redirect" title="Floating point">floats</a>), <a href="List_(computing)" class="mw-redirect" title="List (computing)">lists</a>, and <a href="Associative_arrays" class="mw-redirect" title="Associative arrays">associative arrays</a> (also known as maps, dictionaries or hashmaps). These data types are based on the <a href="Perl" title="Perl">Perl</a> programming language, though all commonly used high-level programming languages share very similar concepts.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> The colon-centered syntax, used for expressing <a href="Attribute%E2%80%93value_pair" class="mw-redirect" title="Attribute–value pair">key-value pairs</a>, is inspired by <a href="Electronic_mail" class="mw-redirect" title="Electronic mail">electronic mail</a> headers as defined in <style data-mw-deduplicate="TemplateStyles:r1333433106">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./_mw_/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./_mw_/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./_mw_/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./_mw_/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#bf3c2c)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#bf3c2c)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end   https://en.wikipedia.org/ */
</style><a href="RFC_(identifier)" class="mw-redirect" title="RFC (identifier)">RFC</a>&nbsp;<a rel="nofollow" class="external text" href="https://www.rfc-editor.org/rfc/rfc822">822</a>, and the <a href="Delimiter" title="Delimiter">document separator</a> <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">---</code> is borrowed from <a href="MIME" title="MIME">MIME</a> (<a href="RFC_(identifier)" class="mw-redirect" title="RFC (identifier)">RFC</a>&nbsp;<a rel="nofollow" class="external text" href="https://www.rfc-editor.org/rfc/rfc2046">2046</a>). <a href="Escape_sequences" class="mw-redirect" title="Escape sequences">Escape sequences</a> are reused from <a href="C_(programming_language)" title="C (programming language)">C</a>, and whitespace wrapping for multi-line strings is inspired by <a href="HTML" title="HTML">HTML</a>. Lists and hashes can contain nested lists and hashes, forming a <a href="Tree_structure" title="Tree structure">tree structure</a>; arbitrary <a href="Graph_(abstract_data_type)" title="Graph (abstract data type)">graphs</a> can be represented using YAML aliases (similar to XML in <a href="SOAP" title="SOAP">SOAP</a>).<sup id="cite_ref-1.0_3-2" class="reference"><a href="#cite_note-1.0-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> YAML is intended to be read and written in streams, a feature inspired by <a href="Simple_API_for_XML" title="Simple API for XML">SAX</a>.<sup id="cite_ref-1.0_3-3" class="reference"><a href="#cite_note-1.0-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p><p>Support for reading and writing YAML is available for many programming languages.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> Some source-code editors such as <a href="Vim_(text_editor)" title="Vim (text editor)">Vim</a>,<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> <a href="Emacs" title="Emacs">Emacs</a>,<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> and various <a href="Integrated_development_environment" title="Integrated development environment">integrated development environments</a><sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> have features that make editing YAML easier, such as folding up nested structures or automatically highlighting syntax errors.
</p><p>The official recommended <a href="Filename_extension" title="Filename extension">filename extension</a> for YAML files has been <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">.yaml</code> since 2006.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> In 2024, the <a href="MIME_type" class="mw-redirect" title="MIME type">MIME type</a> <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">application/yaml</code> has been finalized.<sup id="cite_ref-rfc9512_1-1" class="reference"><a href="#cite_note-rfc9512-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>

<div class="mw-heading mw-heading2"><h2 id="History_and_name">History and name</h2></div>
<p>YAML (<span class="rt-commentedText nowrap"><span class="IPA nopopups noexcerpt" lang="en-fonipa">/<span style="border-bottom:1px dotted"><span title="/ˈ/: primary stress follows">ˈ</span><span title="/j/: 'y' in 'yes'">j</span><span title="/æ/: 'a' in 'bad'">æ</span><span title="'m' in 'my'">m</span><span title="/əl/: 'le' in 'bottle'">əl</span></span>/</span></span>, rhymes with <i>camel</i><sup id="cite_ref-YAML_Version_1.2_4-1" class="reference"><a href="#cite_note-YAML_Version_1.2-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>) was first proposed by Clark Evans in 2001,<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> who designed it together with Ingy döt Net<sup id="cite_ref-yaml_org_about_16-0" class="reference"><a href="#cite_note-yaml_org_about-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> and Oren Ben-Kiki.<sup id="cite_ref-yaml_org_about_16-1" class="reference"><a href="#cite_note-yaml_org_about-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> Originally YAML was said to mean <i>Yet Another Markup Language</i>,<sup id="cite_ref-YAML_spec_2001_08_01_17-0" class="reference"><a href="#cite_note-YAML_spec_2001_08_01-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> because it was released in an era that saw a proliferation of markup languages for presentation and connectivity (HTML, XML, SGML, etc.). Its initial name was intended as a <a href="Tongue-in-cheek" title="Tongue-in-cheek">tongue-in-cheek</a> reference<sup id="cite_ref-YAML_name_orig_2011_08_06_18-0" class="reference"><a href="#cite_note-YAML_name_orig_2011_08_06-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> to the technology landscape, referencing its purpose as a <a href="Markup_language" title="Markup language">markup language</a> with the <a href="Yet_another" title="Yet another">yet another</a> construct, but it was then repurposed between December&nbsp;2001<sup id="cite_ref-YAML_spec_2001_12_10_19-0" class="reference"><a href="#cite_note-YAML_spec_2001_12_10-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> and April&nbsp;2002<sup id="cite_ref-YAML_spec_2002_04_07_20-0" class="reference"><a href="#cite_note-YAML_spec_2002_04_07-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> as <i>YAML Ain't Markup Language</i>, a <a href="Recursive_acronym" title="Recursive acronym">recursive acronym</a>, to distinguish its purpose as data-oriented rather than document markup.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Versions">Versions</h2></div>
<table class="wikitable">

<tbody><tr>
<th>Version</th>
<th>Release date
</th></tr>
<tr>
<td>YAML 1.0</td>
<td>29 January 2004
</td></tr>
<tr>
<td>YAML 1.1</td>
<td>18 January 2005
</td></tr>
<tr>
<td>YAML 1.2.0</td>
<td>21 July 2009
</td></tr>
<tr>
<td>YAML 1.2.1</td>
<td>1 October 2009
</td></tr>
<tr>
<td>YAML 1.2.2</td>
<td>1 October 2021
</td></tr>
</tbody></table>
<div class="mw-heading mw-heading2"><h2 id="Design">Design</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Syntax">Syntax</h3></div>
<p>A cheat sheet and full specification are available at the official site.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> The following is a synopsis of the basic elements.
</p><p>YAML accepts the entire Unicode character set, except for some <a href="Control_character" title="Control character">control characters</a>, and may be encoded in any one of <a href="UTF-8" title="UTF-8">UTF-8</a>, <a href="UTF-16" title="UTF-16">UTF-16</a> or <a href="UTF-32" title="UTF-32">UTF-32</a>. (Though UTF-32 is not mandatory, it is required for a parser to have <a href="JSON" title="JSON">JSON</a> compatibility.)<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li><a href="Whitespace_(computer_science)" class="mw-redirect" title="Whitespace (computer science)">Whitespace</a> <a href="Indent_style" class="mw-redirect" title="Indent style">indentation</a> is used for denoting structure; however, <a href="Tab_character" title="Tab character">tab characters</a> are not allowed as part of that indentation.<sup id="cite_ref-YAML_v1.2.2_24-0" class="reference"><a href="#cite_note-YAML_v1.2.2-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Comment_(computer_programming)" title="Comment (computer programming)">Comments</a> begin with the <a href="Number_sign" title="Number sign">number sign</a> (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">#</code>), can start anywhere on a line and continue until the end of the line. Comments must be separated from other tokens by whitespace characters.<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> If <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">#</code> characters appear inside of a string, then they are number sign (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">#</code>) literals.</li>
<li>List members are denoted by a leading <a href="Hyphen-minus" title="Hyphen-minus">hyphen</a> (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">-</code>) with one member per line.
<ul><li>A list can also be specified by enclosing text in <a href="Square_brackets" class="mw-redirect" title="Square brackets">square brackets</a> (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">[...]</code>) with each entry separated by a <a href="Comma_(punctuation)" class="mw-redirect" title="Comma (punctuation)">comma</a>.</li></ul></li>
<li>An <a href="Associative_array" title="Associative array">associative array</a> entry is represented using <a href="Colon_(punctuation)" title="Colon (punctuation)">colon</a> <a href="Space_(punctuation)" title="Space (punctuation)">space</a> in the form <i>key: value</i> with one entry per line. YAML requires the colon be followed by a space so that url-style strings like <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">http://www.wikipedia.org</code> can be represented without needing to be enclosed in quotes.
<ul><li>A <a href="Question_mark" title="Question mark">question mark</a> can be used in front of a key, in the form "?key: value" to allow the key to contain leading dashes, square brackets, etc., without quotes.</li>
<li>An associative array can also be specified by text enclosed in <a href="Curly_braces" class="mw-redirect" title="Curly braces">curly braces</a> (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">{...}</code>), with keys separated from values by colon and the entries separated by commas (spaces are not required to retain compatibility with JSON).</li></ul></li>
<li><a href="String_(computer_science)" title="String (computer science)">Strings</a> (one type of scalar in YAML) are ordinarily unquoted, but may be enclosed in <a href="Double_quote" class="mw-redirect" title="Double quote">double-quotes</a> (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">"</code>), or <a href="Single_quote" class="mw-redirect" title="Single quote">single-quotes</a> (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">'</code>).
<ul><li>Within double-quotes, special characters may be represented with <a href="C_(programming_language)" title="C (programming language)">C-style</a> escape sequences starting with a <a href="Backslash" title="Backslash">backslash</a> (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">\</code>). According to the documentation the only octal escape supported is <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">\0</code>.</li>
<li>Within single quotes the only supported escape sequence is a doubled single quote (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">''</code>) denoting the single quote itself as in <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">'don''t'</code>.</li></ul></li>
<li>Block scalars are delimited with <a href="Indent_style" class="mw-redirect" title="Indent style">indentation</a> with optional modifiers to preserve (<code>|</code>) or fold (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">&gt;</code>) newlines.</li>
<li>Multiple documents within a single stream are separated by three <a href="Hyphens" class="mw-redirect" title="Hyphens">hyphens</a> (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">---</code>).
<ul><li>Three <a href="Full_stop" title="Full stop">periods</a> (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">...</code>) optionally end a document within a stream.</li></ul></li>
<li>Repeated nodes are initially denoted by an <a href="Ampersand" title="Ampersand">ampersand</a> (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">&amp;</code>) and thereafter referenced with an <a href="Asterisk" title="Asterisk">asterisk</a> (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">*</code>).</li>
<li>Nodes may be labeled with a type or tag using a double <a href="Exclamation_mark" title="Exclamation mark">exclamation mark</a> (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">!!</code>) followed by a string, which can be expanded into a URI.</li>
<li>YAML documents in a stream may be preceded by "directives" composed of a <a href="Percent_sign" title="Percent sign">percent sign</a> (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">%</code>) followed by a name and space-delimited parameters. Two directives are defined in YAML 1.1:
<ul><li>The %YAML directive is used for identifying the version of YAML in a given document.</li>
<li>The %TAG directive is used as a shortcut for URI prefixes. These shortcuts may then be used in node type tags.</li></ul></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Basic_components">Basic components</h3></div>
<p>Conventional block format uses a hyphen+space to begin a new item in list.
</p>
<div class="mw-highlight mw-highlight-lang-yaml mw-content-ltr" dir="ltr"><pre><span></span><span class="nn">---</span><span class="w"> </span><span class="c1"># Favorite movies</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Casablanca</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">North by Northwest</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">The Man Who Wasn't There</span>
</pre></div>
<p>Optional inline format is delimited by comma+space and enclosed in brackets (similar to <a href="JavaScript_Object_Notation" class="mw-redirect" title="JavaScript Object Notation">JSON</a>).<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-highlight mw-highlight-lang-yaml mw-content-ltr" dir="ltr"><pre><span></span><span class="nn">---</span><span class="w"> </span><span class="c1"># Shopping list</span>
<span class="p p-Indicator">[</span><span class="nv">milk</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="nv">pumpkin pie</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="nv">eggs</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="nv">juice</span><span class="p p-Indicator">]</span>
</pre></div>
<p>Keys are separated from values by a colon+space. Indented blocks, common in YAML data files, use indentation and new lines to separate the key/value pairs. Inline blocks, common in YAML data streams, use comma+space to separate the key/value pairs between braces.
</p>
<div class="mw-highlight mw-highlight-lang-yaml mw-content-ltr" dir="ltr"><pre><span></span><span class="nn">---</span><span class="w"> </span><span class="c1"># Indented Block</span>
<span class="w">  </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">John Smith</span>
<span class="w">  </span><span class="nt">age</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">33</span>
<span class="nn">---</span><span class="w"> </span><span class="c1"># Inline Block</span>
<span class="p p-Indicator">{</span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="nv">John Smith</span><span class="p p-Indicator">,</span><span class="nt"> age</span><span class="p">:</span><span class="w"> </span><span class="nv">33</span><span class="p p-Indicator">}</span>
</pre></div>
<p>Strings do not require quotation marks. There are two ways to write multi-line strings, one preserving newlines (using the <code>|</code> character) and one that folds the newlines (using the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">&gt;</code> character), both followed by a newline character.
</p>
<div class="mw-highlight mw-highlight-lang-yaml mw-content-ltr" dir="ltr"><pre><span></span><span class="nt">data</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
<span class="w">   </span><span class="no">There once was a tall man from Ealing</span>
<span class="w">   </span><span class="no">Who got on a bus to Darjeeling</span>
<span class="w">       </span><span class="no">It said on the door</span>
<span class="w">       </span><span class="no">"Please don't sit on the floor"</span>
<span class="w">   </span><span class="no">So he carefully sat on the ceiling</span>
</pre></div>
<p>By default, the leading indentation (of the first line) and trailing whitespace are stripped, though other behavior can be explicitly specified.
</p>
<div class="mw-highlight mw-highlight-lang-yaml mw-content-ltr" dir="ltr"><pre><span></span><span class="nt">data</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">&gt;</span>
<span class="w">   </span><span class="no">Wrapped text</span>
<span class="w">   </span><span class="no">will be folded</span>
<span class="w">   </span><span class="no">into a single</span>
<span class="w">   </span><span class="no">paragraph</span>

<span class="w">   </span><span class="no">Blank lines denote</span>
<span class="w">   </span><span class="no">paragraph breaks</span>
</pre></div>
<p>Folded text converts newlines to spaces and removes leading whitespace.
</p>
<div class="mw-highlight mw-highlight-lang-yaml mw-content-ltr" dir="ltr"><pre><span></span><span class="nn">---</span><span class="w"> </span><span class="c1"># The Smiths</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="p p-Indicator">{</span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="nv">John Smith</span><span class="p p-Indicator">,</span><span class="nt"> age</span><span class="p">:</span><span class="w"> </span><span class="nv">33</span><span class="p p-Indicator">}</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Mary Smith</span>
<span class="w">  </span><span class="nt">age</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">27</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="p p-Indicator">[</span><span class="nv">name</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="nv">age</span><span class="p p-Indicator">]:</span><span class="w"> </span><span class="p p-Indicator">[</span><span class="nv">Rae Smith</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="nv">4</span><span class="p p-Indicator">]</span><span class="w">   </span><span class="c1"># sequences as keys are supported</span>
<span class="nn">---</span><span class="w"> </span><span class="c1"># People, by gender</span>
<span class="nt">men</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">[</span><span class="nv">John Smith</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="nv">Bill Jones</span><span class="p p-Indicator">]</span>
<span class="nt">women</span><span class="p">:</span>
<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Mary Smith</span>
<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Susan Williams</span>
</pre></div>
<p>Objects and lists are important components in yaml and can be mixed. The first example is a list of key-value objects, all people from the Smith family. The second lists them by gender; it is a key-value object containing two lists.
</p>
<div class="mw-heading mw-heading3"><h3 id="Advanced_components">Advanced components</h3></div>
<p>Features that distinguish YAML from the capabilities of other data-serialization languages are structures<sup id="cite_ref-yaml_structures_27-0" class="reference"><a href="#cite_note-yaml_structures-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup>, and data and composite keys.
</p><p>YAML structures enable storage of multiple documents within a single file, usage of references for repeated nodes, and usage of arbitrary nodes as keys.<sup id="cite_ref-yaml_structures_27-1" class="reference"><a href="#cite_note-yaml_structures-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup>
</p><p>For clarity, compactness, and avoiding data entry errors, YAML provides node anchors (using <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">&amp;</code>) and references (using <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">*</code>). References to the anchor work for all data types (see the ship-to reference in the example below).
</p><p>Below is an example of a queue in an instrument sequencer in which two steps are referenced without being fully described.
</p>
<div class="mw-highlight mw-highlight-lang-yaml mw-content-ltr" dir="ltr"><pre><span></span><span class="nn">---</span><span class="w"> </span><span class="c1"># Sequencer protocols for Laser eye surgery</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">step</span><span class="p">:</span><span class="w">  </span><span class="nl">&amp;id001</span><span class="w">                  </span><span class="c1"># defines anchor label &amp;id001</span>
<span class="w">    </span><span class="nt">instrument</span><span class="p">:</span><span class="w">      </span><span class="l l-Scalar l-Scalar-Plain">Lasik 2000</span>
<span class="w">    </span><span class="nt">pulseEnergy</span><span class="p">:</span><span class="w">     </span><span class="l l-Scalar l-Scalar-Plain">5.4</span>
<span class="w">    </span><span class="nt">pulseDuration</span><span class="p">:</span><span class="w">   </span><span class="l l-Scalar l-Scalar-Plain">12</span>
<span class="w">    </span><span class="nt">repetition</span><span class="p">:</span><span class="w">      </span><span class="l l-Scalar l-Scalar-Plain">1000</span>
<span class="w">    </span><span class="nt">spotSize</span><span class="p">:</span><span class="w">        </span><span class="l l-Scalar l-Scalar-Plain">1mm</span>

<span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">step</span><span class="p">:</span><span class="w"> </span><span class="nl">&amp;id002</span>
<span class="w">    </span><span class="nt">instrument</span><span class="p">:</span><span class="w">      </span><span class="l l-Scalar l-Scalar-Plain">Lasik 2000</span>
<span class="w">    </span><span class="nt">pulseEnergy</span><span class="p">:</span><span class="w">     </span><span class="l l-Scalar l-Scalar-Plain">5.0</span>
<span class="w">    </span><span class="nt">pulseDuration</span><span class="p">:</span><span class="w">   </span><span class="l l-Scalar l-Scalar-Plain">10</span>
<span class="w">    </span><span class="nt">repetition</span><span class="p">:</span><span class="w">      </span><span class="l l-Scalar l-Scalar-Plain">500</span>
<span class="w">    </span><span class="nt">spotSize</span><span class="p">:</span><span class="w">        </span><span class="l l-Scalar l-Scalar-Plain">2mm</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">Instrument1</span><span class="p">:</span><span class="w"> </span><span class="nv">*id001</span><span class="w">   </span><span class="c1"># refers to the first step (with anchor &amp;id001)</span>
<span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">Instrument2</span><span class="p">:</span><span class="w"> </span><span class="nv">*id002</span><span class="w">   </span><span class="c1"># refers to the second step</span>
</pre></div>
<p>Explicit data typing is seldom seen in the majority of YAML documents since YAML autodetects simple types. Data types can be divided into three categories: core, defined, and user-defined. Core are ones expected to exist in any parser (e.g. floats, ints, strings, lists, maps, ...). Many more advanced data types, such as binary data, are defined in the YAML specification but not supported in all implementations. Finally YAML defines a way to extend the data type definitions locally to accommodate user-defined classes, structures or primitives (e.g. quad-precision floats).
</p><p>YAML autodetects the datatype of the entity, but sometimes one wants to cast the datatype explicitly. The most common situation is where a single-word string that looks like a number, Boolean or tag requires disambiguation by surrounding it with quotes or using an explicit datatype tag.
</p>
<div class="mw-highlight mw-highlight-lang-yaml mw-content-ltr" dir="ltr"><pre><span></span><span class="nn">---</span>
<span class="nt">a</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">123</span><span class="w">                     </span><span class="c1"># an integer</span>
<span class="nt">b</span><span class="p">:</span><span class="w"> </span><span class="s">"123"</span><span class="w">                   </span><span class="c1"># a string, disambiguated by quotes</span>
<span class="nt">c</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">123.0</span><span class="w">                   </span><span class="c1"># a float</span>
<span class="nt">d</span><span class="p">:</span><span class="w"> </span><span class="kt">!!float</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">123</span><span class="w">             </span><span class="c1"># also a float via explicit data type prefixed by (!!)</span>
<span class="nt">e</span><span class="p">:</span><span class="w"> </span><span class="kt">!!str</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">123</span><span class="w">               </span><span class="c1"># a string, disambiguated by explicit type</span>
<span class="nt">f</span><span class="p">:</span><span class="w"> </span><span class="kt">!!str</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Yes</span><span class="w">               </span><span class="c1"># a string via explicit type</span>
<span class="nt">g</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Yes</span><span class="w">                     </span><span class="c1"># a Boolean True (yaml1.1), string "Yes" (yaml1.2)</span>
<span class="nt">h</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Yes we have No bananas</span><span class="w">  </span><span class="c1"># a string, "Yes" and "No" disambiguated by context.</span>
</pre></div>
<p>Not every implementation of YAML has every specification-defined data type. These built-in types use a double-exclamation <a href="Sigil_(computer_programming)" title="Sigil (computer programming)">sigil</a> prefix (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">!!</code>). Particularly interesting ones not shown here are sets, ordered maps, timestamps, and hexadecimal. Here is an example of <a href="Base64" title="Base64">base64</a>-encoded binary data.
</p>
<div class="mw-highlight mw-highlight-lang-yaml mw-content-ltr" dir="ltr"><pre><span></span><span class="nn">---</span>
<span class="nt">picture</span><span class="p">:</span><span class="w"> </span><span class="kt">!!binary</span><span class="w"> </span><span class="p p-Indicator">|</span>
<span class="w">  </span><span class="no">R0lGODdhDQAIAIAAAAAAANn</span>
<span class="w">  </span><span class="no">Z2SwAAAAADQAIAAACF4SDGQ</span>
<span class="w">  </span><span class="no">ar3xxbJ9p0qa7R0YxwzaFME</span>
<span class="w">  </span><span class="no">1IAADs=</span>
</pre></div>
<p>Many implementations of YAML can support user-defined data types for object serialization. Local data types are not universal data types but are defined in the application using the YAML parser library. Local data types use a single exclamation mark (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">!</code>).
</p><p>YAML supports composite keys, which consist of multiple values. Such keys are useful for coordinate transformations, multi-field identifiers, test cases with compound conditions, and the like.<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-highlight mw-highlight-lang-yaml mw-content-ltr" dir="ltr"><pre><span></span><span class="nn">---</span><span class="w"> </span><span class="c1"># Transform between two systems of coordinates</span>
<span class="w">  </span><span class="nt">transform</span><span class="p">:</span>
<span class="w">      </span><span class="p p-Indicator">{</span><span class="nt">x</span><span class="p">:</span><span class="w"> </span><span class="nv">1</span><span class="p p-Indicator">,</span><span class="nt"> y</span><span class="p">:</span><span class="w"> </span><span class="nv">2</span><span class="p p-Indicator">}:</span><span class="w"> </span><span class="p p-Indicator">{</span><span class="nt">x</span><span class="p">:</span><span class="w"> </span><span class="nv">3</span><span class="p p-Indicator">,</span><span class="nt"> y</span><span class="p">:</span><span class="w"> </span><span class="nv">4</span><span class="p p-Indicator">}</span>
<span class="w">      </span><span class="p p-Indicator">{</span><span class="nt">x</span><span class="p">:</span><span class="w"> </span><span class="nv">5</span><span class="p p-Indicator">,</span><span class="nt"> y</span><span class="p">:</span><span class="w"> </span><span class="nv">6</span><span class="p p-Indicator">}:</span><span class="w"> </span><span class="p p-Indicator">{</span><span class="nt">x</span><span class="p">:</span><span class="w"> </span><span class="nv">7</span><span class="p p-Indicator">,</span><span class="nt"> y</span><span class="p">:</span><span class="w"> </span><span class="nv">8</span><span class="p p-Indicator">}</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="Example">Example</h3></div>
<p>Data-structure hierarchy is maintained by outline indentation.
</p>
<div class="mw-highlight mw-highlight-lang-yaml mw-content-ltr" dir="ltr"><pre><span></span><span class="nn">---</span>
<span class="nt">receipt</span><span class="p">:</span><span class="w">     </span><span class="l l-Scalar l-Scalar-Plain">Oz-Ware Purchase Invoice</span>
<span class="nt">date</span><span class="p">:</span><span class="w">        </span><span class="l l-Scalar l-Scalar-Plain">2012-08-06</span>
<span class="nt">customer</span><span class="p">:</span>
<span class="w">    </span><span class="nt">first_name</span><span class="p">:</span><span class="w">   </span><span class="l l-Scalar l-Scalar-Plain">Dorothy</span>
<span class="w">    </span><span class="nt">family_name</span><span class="p">:</span><span class="w">  </span><span class="l l-Scalar l-Scalar-Plain">Gale</span>

<span class="nt">items</span><span class="p">:</span>
<span class="w">    </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">part_no</span><span class="p">:</span><span class="w">   </span><span class="l l-Scalar l-Scalar-Plain">A4786</span>
<span class="w">      </span><span class="nt">descrip</span><span class="p">:</span><span class="w">   </span><span class="l l-Scalar l-Scalar-Plain">Water Bucket (Filled)</span>
<span class="w">      </span><span class="nt">price</span><span class="p">:</span><span class="w">     </span><span class="l l-Scalar l-Scalar-Plain">1.47</span>
<span class="w">      </span><span class="nt">quantity</span><span class="p">:</span><span class="w">  </span><span class="l l-Scalar l-Scalar-Plain">4</span>

<span class="w">    </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">part_no</span><span class="p">:</span><span class="w">   </span><span class="l l-Scalar l-Scalar-Plain">E1628</span>
<span class="w">      </span><span class="nt">descrip</span><span class="p">:</span><span class="w">   </span><span class="l l-Scalar l-Scalar-Plain">High Heeled "Ruby" Slippers</span>
<span class="w">      </span><span class="nt">size</span><span class="p">:</span><span class="w">      </span><span class="l l-Scalar l-Scalar-Plain">8</span>
<span class="w">      </span><span class="nt">price</span><span class="p">:</span><span class="w">     </span><span class="l l-Scalar l-Scalar-Plain">133.7</span>
<span class="w">      </span><span class="nt">quantity</span><span class="p">:</span><span class="w">  </span><span class="l l-Scalar l-Scalar-Plain">1</span>

<span class="nt">bill-to</span><span class="p">:</span><span class="w">  </span><span class="nl">&amp;id001</span>
<span class="w">    </span><span class="nt">street</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
<span class="w">            </span><span class="no">123 Tornado Alley</span>
<span class="w">            </span><span class="no">Suite 16</span>
<span class="w">    </span><span class="nt">city</span><span class="p">:</span><span class="w">   </span><span class="l l-Scalar l-Scalar-Plain">East Centerville</span>
<span class="w">    </span><span class="nt">state</span><span class="p">:</span><span class="w">  </span><span class="l l-Scalar l-Scalar-Plain">KS</span>

<span class="nt">ship-to</span><span class="p">:</span><span class="w">  </span><span class="nv">*id001</span>

<span class="nt">specialDelivery</span><span class="p">:</span><span class="w">  </span><span class="p p-Indicator">&gt;</span>
<span class="w">    </span><span class="no">Follow the Yellow Brick</span>
<span class="w">    </span><span class="no">Road to the Emerald City.</span>
<span class="w">    </span><span class="no">Pay no attention to the</span>
<span class="w">    </span><span class="no">man behind the curtain.</span>
<span class="nn">...</span>
</pre></div>
<p>Notice that strings do not require enclosure in quotation marks. The specific number of spaces in the indentation is unimportant as long as parallel elements have the same left justification and the hierarchically nested elements are indented further. This sample document defines an associative array with 7 top level keys: one of the keys, "items", contains a 2-element list, each element of which is itself an associative array with differing keys. Relational data and redundancy removal are displayed: the "ship-to" associative array content is copied from the "bill-to" associative array's content as indicated by the anchor (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">&amp;</code>) and reference (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">*</code>) labels. Optional blank lines can be added for readability. Multiple documents can exist in a single file/stream and are separated by <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">---</code>. An optional <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">...</code> can be used at the end of a file (useful for signaling an end in streamed communications without closing the pipe).
</p>
<div class="mw-heading mw-heading2"><h2 id="Features">Features</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Indented_delimiting">Indented delimiting</h3></div>
<p>Because YAML primarily relies on outline indentation for structure, it is especially resistant to <a href="Delimiter_collision" class="mw-redirect" title="Delimiter collision">delimiter collision</a>. YAML's insensitivity to quotation marks and braces in scalar values means one may embed XML, JSON or even YAML documents inside a YAML document by simply indenting it in a block literal (using <code>|</code> or <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">&gt;</code>):
</p>
<div class="mw-highlight mw-highlight-lang-yaml mw-content-ltr" dir="ltr"><pre><span></span><span class="nn">---</span>
<span class="nt">example</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">&gt;</span>
<span class="w">        </span><span class="no">HTML goes into YAML without modification</span>
<span class="nt">message</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>

<span class="w">        </span><span class="no">&lt;blockquote style="font: italic 1em serif"&gt;</span>
<span class="w">        </span><span class="no">&lt;p&gt;"Three is always greater than two,</span>
<span class="w">           </span><span class="no">even for large values of two"&lt;/p&gt;</span>
<span class="w">        </span><span class="no">&lt;p&gt;--Author Unknown&lt;/p&gt;</span>
<span class="w">        </span><span class="no">&lt;/blockquote&gt;</span>
<span class="nt">date</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2007-06-01</span>
</pre></div>
<p>YAML may be placed in JSON by quoting and escaping all interior quotation marks. YAML may be placed in XML by escaping reserved characters (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">&lt;</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">&gt;</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">&amp;</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">'</code>, <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">"</code>) and converting whitespace, or by placing it in a <a href="CDATA" title="CDATA">CDATA</a> section.
</p>
<div class="mw-heading mw-heading3"><h3 id="Non-hierarchical_data_models">Non-hierarchical data models</h3></div>
<p>Unlike JSON, which can only represent data in a hierarchical model with each child node having a single parent, YAML also offers a simple relational scheme that allows repeats of identical data to be referenced from two or more points in the tree rather than entered redundantly at those points. This is similar to the facility IDREF built into XML.<sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> The YAML parser then expands these references into the fully populated data structures they imply when read in, so whatever program is using the parser does not have to be aware of a relational encoding model, unlike XML processors, which do not expand references. This expansion can enhance readability while reducing data entry errors in configuration files or processing protocols where many parameters remain the same in a sequential series of records while only a few vary. An example being that "ship-to" and "bill-to" records in an invoice are nearly always the same data.
</p>
<div class="mw-heading mw-heading3"><h3 id="Security">Security</h3></div>
<p>YAML is purely a data-representation language and thus has no executable commands. While <a href="Application_security" title="Application security">validation</a> and <a href="JavaScript#Misplaced_trust_in_the_client" title="JavaScript">safe parsing</a> is inherently possible in any data language, implementation is such a notorious pitfall that YAML's lack of an associated command language may be a relative security benefit.
</p><p>However, YAML allows language-specific tags so that arbitrary local objects can be created by a parser that supports those tags. Any YAML parser that allows sophisticated object instantiation to be executed opens the potential for an injection attack. Perl parsers that allow loading of objects of arbitrary classes create so-called "blessed" values. Using these values may trigger unexpected behavior, e.g. if the class uses overloaded operators. This may lead to execution of arbitrary Perl code.<sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup>
</p><p>The situation is similar for Python or Ruby parsers. According to the PyYAML documentation:<sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup>
</p>
<blockquote>
<p>Note that the ability to construct an arbitrary Python object may be dangerous if you receive a YAML document from an untrusted source such as the Internet. The function <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">yaml.safe_load</code> limits this ability to simple Python objects like integers or lists. [...]
</p><p>PyYAML allows you to construct a Python object of any type. Even instances of Python classes can be constructed using the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">!!python/object</code> tag.
</p>
</blockquote>
<div class="mw-heading mw-heading3"><h3 id="Data_processing_and_representation">Data processing and representation</h3></div>
<p>The YAML specification identifies an <i>instance document</i> as a "Presentation" or "character stream".<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup> The primary logical structures in a YAML instance document are scalars, sequences, and mappings.<sup id="cite_ref-TypesRepos_33-0" class="reference"><a href="#cite_note-TypesRepos-33"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup> The YAML specification also indicates some basic constraints that apply to these primary logical structures. For example, according to the specification, mapping keys do not have an order. In every case where node order is significant, a sequence must be used.<sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup>
</p><p>Moreover, in defining conformance for YAML processors, the YAML specification defines two primary operations: <i>dump</i> and <i>load</i>. All YAML-compliant processors must provide <i>at least</i> one of these operations, and may optionally provide both.<sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup> Finally, the YAML specification defines an <i>information model</i> or "representation graph", which must be created during processing for both <i>dump</i> and <i>load</i> operations, although this representation need not be made available to the user through an API.<sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Comparison_with_other_serialization_formats">Comparison with other serialization formats</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Comparison_with_JSON">Comparison with JSON <span class="anchor" id="JSON"></span></h3></div>
<div role="note" class="hatnote navigation-not-searchable">See also: <a href="JSON#YAML" title="JSON">JSON §&nbsp;YAML</a></div>
<p><a href="JavaScript_Object_Notation" class="mw-redirect" title="JavaScript Object Notation">JSON</a> syntax is a basis of YAML version 1.2, which was promulgated with the express purpose of bringing YAML "into compliance with JSON as an official subset".<sup id="cite_ref-YAML_Version_1.2_4-2" class="reference"><a href="#cite_note-YAML_Version_1.2-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> Though prior versions of YAML were not strictly compatible,<sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup> the discrepancies were rarely noticeable, and most JSON documents can be parsed by some YAML parsers such as Syck.<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup> This is because JSON's semantic structure is equivalent to the optional "inline-style" of writing YAML. While extended hierarchies can be written in inline-style like JSON, this is not a recommended YAML style except when it aids clarity.
</p><p>YAML has many additional features not present in JSON, including comments, extensible data types, relational anchors, strings without quotation marks, and mapping types preserving key order.
</p><p>Due to the <a href="Concision" title="Concision">conciseness</a>, JSON <a href="Serialization" title="Serialization">serialization</a> and deserialization is much faster than YAML.<sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-40" class="reference"><a href="#cite_note-40"><span class="cite-bracket">[</span>40<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Comparison_with_TOML">Comparison with TOML</h3></div>
<p><a href="TOML" title="TOML">TOML</a> was designed to be an advancement of the <a href="INI_file" title="INI file">.ini file format</a>. YAML makes minimal use of indicator characters compared to TOML's strict requirement of quotation marks and square brackets. YAML's use of <a href="Off-side_rule" title="Off-side rule">significant indentation</a> has been contrasted with the <a href="Property_(programming)#Dot_notation" title="Property (programming)">dot notation</a> of TOML's key and table names to convey the same semantic structure. Opinions differ on which convention leads to more-readable configuration files.<sup id="cite_ref-41" class="reference"><a href="#cite_note-41"><span class="cite-bracket">[</span>41<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-what-is-wrong-with-toml_42-0" class="reference"><a href="#cite_note-what-is-wrong-with-toml-42"><span class="cite-bracket">[</span>42<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Comparison_with_XML">Comparison with XML</h3></div>
<p>YAML lacks the notion of tag attributes that are found in XML. Instead YAML has extensible type declarations (including class types for objects).
</p><p>YAML itself does not have XML's language-defined document schema descriptors that allow, for example, a document to self-validate.  However, there are several externally defined schema descriptor languages for YAML (e.g. <a href="Doctrine_(PHP)" title="Doctrine (PHP)">Doctrine</a>, Kwalify and Rx) that fulfill that role. Moreover, the semantics provided by YAML's language-defined type declarations in the YAML document itself frequently relaxes the need for a validator in simple, common situations.  Additionally, YAXML, which represents YAML data structures in XML, allows XML schema importers and output mechanisms like <a href="Extensible_Stylesheet_Language_Transformations" class="mw-redirect" title="Extensible Stylesheet Language Transformations">XSLT</a> to be applied to YAML.
</p><p><a href="Comparison_of_data-serialization_formats" title="Comparison of data-serialization formats">Comparison of data-serialization formats</a> provides a more comprehensive comparison of YAML with other serialization formats.
</p>
<div class="mw-heading mw-heading2"><h2 id="Software_(emitters_and_parsers)"><span id="Software_.28emitters_and_parsers.29"></span>Software (emitters and parsers)</h2></div>
<p>For fixed data structures, YAML files can simply be generated using <i>print</i> commands that write both the data and the YAML specific decoration. To dump varying, or complex, hierarchical data, however, a dedicated YAML <i>emitter</i> is preferable. Similarly, simple YAML files (e.g. key-value pairs) are readily parsed with <a href="Regular_expression" title="Regular expression">regular expressions</a>. For more complex, or varying, data structures, a formal YAML <i>parser</i> is recommended.
</p><p>YAML emitters and parsers exist for many popular languages. Most of them are written in the native language itself. Some are language bindings of the C library <i>libyaml</i>; they may run faster. There used to be another C library, called <i>Syck</i>, written and orphaned by <a href="Why_the_lucky_stiff" title="Why the lucky stiff">why the lucky stiff</a>: it is unmaintained, there is no authoritative source bundle, and the web site has been hijacked. Hence the only recommendable C library is <i>libyaml</i>. It was originally developed by Kirill Simonov. In 2018, development was resumed by the new maintainers Ian Cordasco and Ingy döt Net.<sup id="cite_ref-43" class="reference"><a href="#cite_note-43"><span class="cite-bracket">[</span>43<span class="cite-bracket">]</span></a></sup>
</p><p>C++ programmers have the choice between the C library <i>libyaml</i> and the C++ library <i>libyaml-cpp</i>. Both have completely independent code bases and completely different <a href="Application_Programming_Interface" class="mw-redirect" title="Application Programming Interface">APIs</a>. The library <i>libyaml-cpp</i> still has a major version number of 0, indicating that the API may change at any moment, as happened indeed after version 0.3. There is a grammar-focused implementation written in C#, with an aim on extensions for the nested elements.<sup id="cite_ref-44" class="reference"><a href="#cite_note-44"><span class="cite-bracket">[</span>44<span class="cite-bracket">]</span></a></sup>
</p><p>Some implementations of YAML, such as Perl's YAML.pm, will load an entire file (stream) and parse it <i>en masse</i>. Other implementations like PyYaml are lazy and iterate over the next document only upon request. For very large files in which one plans to handle the documents independently, instantiating the entire file before processing may be prohibitive. Thus in YAML.pm, occasionally one must chunk a file into documents and parse those individually. YAML makes this easy, since this simply requires splitting on the document end marker, which is defined as three periods at the start of a line followed by a whitespace (and possible a comment). This marker is forbidden in content.<sup id="cite_ref-YAML_spec_document_markers_45-0" class="reference"><a href="#cite_note-YAML_spec_document_markers-45"><span class="cite-bracket">[</span>45<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Criticism">Criticism</h2></div>
<p>YAML has been criticized for its <a href="Significant_whitespace" class="mw-redirect" title="Significant whitespace">significant whitespace</a>, confusing features, insecure defaults, and its complex and ambiguous specification:<sup id="cite_ref-notgreat_46-0" class="reference"><a href="#cite_note-notgreat-46"><span class="cite-bracket">[</span>46<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-47" class="reference"><a href="#cite_note-47"><span class="cite-bracket">[</span>47<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-48" class="reference"><a href="#cite_note-48"><span class="cite-bracket">[</span>48<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>In dynamic languages (Python, Ruby, PHP) configuration files can execute commands without the users realizing it:</li></ul>
<div class="mw-highlight mw-highlight-lang-yaml mw-content-ltr" dir="ltr"><pre><span></span><span class="kt">!!python/object/apply:os.system</span>
<span class="nt">args</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">[</span><span class="s">'ls</span><span class="nv"> </span><span class="s">/'</span><span class="p p-Indicator">]</span>
</pre></div>
<p>In static, compiled languages, this instantiation is complex to achieve and is quite often not implemented.
</p>
<ul><li>Editing large YAML files is difficult, as indentation errors can go unnoticed.<sup id="cite_ref-notgreat_46-1" class="reference"><a href="#cite_note-notgreat-46"><span class="cite-bracket">[</span>46<span class="cite-bracket">]</span></a></sup></li>
<li>Type autodetection is a source of errors. For example, unquoted <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">Yes</code> and <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">No</code> are converted to Booleans; software version numbers might be converted to floats.<sup id="cite_ref-notgreat_46-2" class="reference"><a href="#cite_note-notgreat-46"><span class="cite-bracket">[</span>46<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Norway_49-0" class="reference"><a href="#cite_note-Norway-49"><span class="cite-bracket">[</span>49<span class="cite-bracket">]</span></a></sup></li>
<li>Truncated files are often interpreted as valid YAML due to the absence of terminators.</li>
<li>The complexity of the standard led to inconsistent implementations and making the language non-portable.<sup id="cite_ref-notgreat_46-3" class="reference"><a href="#cite_note-notgreat-46"><span class="cite-bracket">[</span>46<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-50" class="reference"><a href="#cite_note-50"><span class="cite-bracket">[</span>50<span class="cite-bracket">]</span></a></sup></li></ul>
<p>The perceived flaws and complexity of YAML has led to the emergence of stricter alternatives such as <a rel="nofollow" class="external text" href="https://github.com/crdoconnor/strictyaml">StrictYAML</a> and NestedText.<sup id="cite_ref-Norway_49-1" class="reference"><a href="#cite_note-Norway-49"><span class="cite-bracket">[</span>49<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Comparison_of_data-serialization_formats" title="Comparison of data-serialization formats">Comparison of data-serialization formats</a></li>
<li><a href="Lightweight_markup_language" title="Lightweight markup language">Lightweight markup language</a></li>
<li><a href="LinkML" title="LinkML">LinkML</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1327269900">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}body.skin-vector-2022 .mw-parser-output .reflist-columns-2{column-width:27em}body.skin-vector-2022 .mw-parser-output .reflist-columns-3{column-width:22.5em}.mw-parser-output .references[data-mw-group=upper-alpha]{list-style-type:upper-alpha}.mw-parser-output .references[data-mw-group=upper-roman]{list-style-type:upper-roman}.mw-parser-output .references[data-mw-group=lower-alpha]{list-style-type:lower-alpha}.mw-parser-output .references[data-mw-group=lower-greek]{list-style-type:lower-greek}.mw-parser-output .references[data-mw-group=lower-roman]{list-style-type:lower-roman}.mw-parser-output div.reflist-liststyle-upper-alpha .references{list-style-type:upper-alpha}.mw-parser-output div.reflist-liststyle-upper-roman .references{list-style-type:upper-roman}.mw-parser-output div.reflist-liststyle-lower-alpha .references{list-style-type:lower-alpha}.mw-parser-output div.reflist-liststyle-lower-greek .references{list-style-type:lower-greek}.mw-parser-output div.reflist-liststyle-lower-roman .references{list-style-type:lower-roman}


/* end   https://en.wikipedia.org/ */
</style><div>
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-rfc9512-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-rfc9512_1-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-rfc9512_1-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFPolliWildeAro2024" class="citation report cs1">Polli, Roberto; Wilde, Erik; Aro, Eemeli (2024-02-21). <a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/rfc9512/">YAML Media Type</a> (Report). Internet Engineering Task Force. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240221185855/https://datatracker.ietf.org/doc/rfc9512/">Archived</a> from the original on 2024-02-21<span class="reference-accessdate">. Retrieved <span class="nowrap">2024-02-21</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=report&amp;rft.btitle=YAML+Media+Type&amp;rft.pub=Internet+Engineering+Task+Force&amp;rft.date=2024-02-21&amp;rft.aulast=Polli&amp;rft.aufirst=Roberto&amp;rft.au=Wilde%2C+Erik&amp;rft.au=Aro%2C+Eemeli&amp;rft_id=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Frfc9512%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://developer.apple.com/documentation/uniformtypeidentifiers/uttype/3551604-yaml">"yaml"</a>. <i>Apple Developer Documentation: Uniform Type Identifiers</i>. <a href="Apple_Inc" class="mw-redirect" title="Apple Inc">Apple Inc</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230522155815/https://developer.apple.com/documentation/uniformtypeidentifiers/uttype/3551604-yaml">Archived</a> from the original on 2023-05-22<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-05-22</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Apple+Developer+Documentation%3A+Uniform+Type+Identifiers&amp;rft.atitle=yaml&amp;rft_id=https%3A%2F%2Fdeveloper.apple.com%2Fdocumentation%2Funiformtypeidentifiers%2Futtype%2F3551604-yaml&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-1.0-3"><span class="mw-cite-backlink">^ <a href="#cite_ref-1.0_3-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-1.0_3-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-1.0_3-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-1.0_3-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/spec/history/2001-12-10.html">"Yet Another Markup Language (YAML) 1.0 / Working Draft"</a>. 10 Dec 2001. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190710131145/https://yaml.org/spec/history/2001-12-10.html">Archived</a> from the original on 2019-07-10<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-05-28</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Yet+Another+Markup+Language+%28YAML%29+1.0+%2F+Working+Draft&amp;rft.date=2001-12-10&amp;rft_id=https%3A%2F%2Fyaml.org%2Fspec%2Fhistory%2F2001-12-10.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-YAML_Version_1.2-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-YAML_Version_1.2_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-YAML_Version_1.2_4-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-YAML_Version_1.2_4-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/spec/1.2/spec.html">"YAML Ain't Markup Language (YAML) Version 1.2"</a>. <i>YAML.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190124222648/https://yaml.org/spec/1.2/spec.html">Archived</a> from the original on 2019-01-24<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-05-29</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=YAML.org&amp;rft.atitle=YAML+Ain%27t+Markup+Language+%28YAML%29+Version+1.2&amp;rft_id=https%3A%2F%2Fyaml.org%2Fspec%2F1.2%2Fspec.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.python.org/3/library/stdtypes.html">"Built-in Types — Python 3.9.6 documentation"</a>. <i>docs.python.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200614194325/https://docs.python.org/3/library/stdtypes.html">Archived</a> from the original on 2020-06-14<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-08-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=docs.python.org&amp;rft.atitle=Built-in+Types+%E2%80%94+Python+3.9.6+documentation&amp;rft_id=https%3A%2F%2Fdocs.python.org%2F3%2Flibrary%2Fstdtypes.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects">"Standard built-in objects - JavaScript | MDN"</a>. <i>developer.mozilla.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210119075018/https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects">Archived</a> from the original on 2021-01-19<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-08-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=developer.mozilla.org&amp;rft.atitle=Standard+built-in+objects+-+JavaScript+%7C+MDN&amp;rft_id=https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FWeb%2FJavaScript%2FReference%2FGlobal_Objects&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite id="CITEREFcorob-msft2021" class="citation web cs1">corob-msft (17 August 2021). <a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/cpp/cpp/fundamental-types-cpp">"Built-in types (C++)"</a>. <i>docs.microsoft.com</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240613135924/https://learn.microsoft.com/en-us/cpp/cpp/fundamental-types-cpp?view=msvc-170">Archived</a> from the original on 2024-06-13<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-08-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=docs.microsoft.com&amp;rft.atitle=Built-in+types+%28C%2B%2B%29&amp;rft.date=2021-08-17&amp;rft.au=corob-msft&amp;rft_id=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fcpp%2Fcpp%2Ffundamental-types-cpp&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/">"The Official YAML Web Site"</a>. <i>yaml.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210318102345/https://yaml.org/">Archived</a> from the original on 2021-03-18<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-02-05</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=yaml.org&amp;rft.atitle=The+Official+YAML+Web+Site&amp;rft_id=https%3A%2F%2Fyaml.org%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.arthurkoziel.com/setting-up-vim-for-yaml/">"Setting up Vim for YAML editing"</a>. <i>arthurkoziel.com</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20211123022602/https://www.arthurkoziel.com/setting-up-vim-for-yaml/">Archived</a> from the original on 2021-11-23<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-12-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=arthurkoziel.com&amp;rft.atitle=Setting+up+Vim+for+YAML+editing&amp;rft_id=https%3A%2F%2Fwww.arthurkoziel.com%2Fsetting-up-vim-for-yaml%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.emacswiki.org/emacs/YamlMode">"Yaml Mode"</a>. EmacsWiki. 2015-06-12. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20161108052715/https://www.emacswiki.org/emacs/YamlMode">Archived</a> from the original on 2016-11-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-12-05</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Yaml+Mode&amp;rft.pub=EmacsWiki&amp;rft.date=2015-06-12&amp;rft_id=https%3A%2F%2Fwww.emacswiki.org%2Femacs%2FYamlMode&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><cite id="CITEREFaukaost" class="citation web cs1">aukaost. <a rel="nofollow" class="external text" href="https://packagecontrol.io/packages/Pretty%20YAML">"Pretty YAML - Packages - Package Control"</a>. Packagecontrol.io. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20161108052511/https://packagecontrol.io/packages/Pretty%20YAML">Archived</a> from the original on 2016-11-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-12-05</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Pretty+YAML+-+Packages+-+Package+Control&amp;rft.pub=Packagecontrol.io&amp;rft.au=aukaost&amp;rft_id=https%3A%2F%2Fpackagecontrol.io%2Fpackages%2FPretty%2520YAML&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://marketplace.eclipse.org/category/free-tagging/yaml">"yaml | Eclipse Plugins, Bundles and Products - Eclipse Marketplace"</a>. Marketplace.eclipse.org. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20161108133326/https://marketplace.eclipse.org/category/free-tagging/yaml">Archived</a> from the original on 2016-11-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-12-05</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=yaml+%26%23124%3B+Eclipse+Plugins%2C+Bundles+and+Products+-+Eclipse+Marketplace&amp;rft.pub=Marketplace.eclipse.org&amp;rft_id=https%3A%2F%2Fmarketplace.eclipse.org%2Fcategory%2Ffree-tagging%2Fyaml&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><cite id="CITEREFRuth_Kusterer" class="citation web cs1">Ruth Kusterer. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20161119003539/https://netbeans.org/features/ruby/index.html">"NetBeans IDE - Ruby and Ruby on Rails Development"</a>. Netbeans.org. Archived from <a rel="nofollow" class="external text" href="https://netbeans.org/features/ruby/index.html">the original</a> on 2016-11-19<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-12-05</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=NetBeans+IDE+-+Ruby+and+Ruby+on+Rails+Development&amp;rft.pub=Netbeans.org&amp;rft.au=Ruth+Kusterer&amp;rft_id=https%3A%2F%2Fnetbeans.org%2Ffeatures%2Fruby%2Findex.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/faq.html">"YAML Ain't Markup Language"</a>. September 24, 2006. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20060924190202/https://yaml.org/faq.html">Archived</a> from the original on 2006-09-24.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=YAML+Ain%27t+Markup+Language&amp;rft.date=2006-09-24&amp;rft_id=https%3A%2F%2Fyaml.org%2Ffaq.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><cite id="CITEREFEvans2001" class="citation web cs1">Evans, Clark (May 11, 2001). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20010603012942/http://groups.yahoo.com/group/sml-dev/message/4710">"YAML Draft 0.1"</a>. Yahoo! Tech groups: sml-dev. Archived from <a rel="nofollow" class="external text" href="https://groups.yahoo.com/neo/groups/sml-dev/conversations/topics/4710">the original</a> on 2001-06-03<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-03-21</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=YAML+Draft+0.1&amp;rft.pub=Yahoo%21+Tech+groups%3A+sml-dev&amp;rft.date=2001-05-11&amp;rft.aulast=Evans&amp;rft.aufirst=Clark&amp;rft_id=https%3A%2F%2Fgroups.yahoo.com%2Fneo%2Fgroups%2Fsml-dev%2Fconversations%2Ftopics%2F4710&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-yaml_org_about-16"><span class="mw-cite-backlink">^ <a href="#cite_ref-yaml_org_about_16-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-yaml_org_about_16-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/about.html">"YAML Ain't Markup Language: About"</a>. <i>YAML.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190414205219/https://yaml.org/about.html">Archived</a> from the original on 2019-04-14<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-05-29</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=YAML.org&amp;rft.atitle=YAML+Ain%27t+Markup+Language%3A+About&amp;rft_id=https%3A%2F%2Fyaml.org%2Fabout.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-YAML_spec_2001_08_01-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-YAML_spec_2001_08_01_17-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/spec/history/2001-08-01.html">"Yet Another Markup Language (YAML) 1.0"</a>. <i>YAML.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190414205247/https://yaml.org/spec/history/2001-08-01.html">Archived</a> from the original on 2019-04-14<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-05-29</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=YAML.org&amp;rft.atitle=Yet+Another+Markup+Language+%28YAML%29+1.0&amp;rft_id=https%3A%2F%2Fyaml.org%2Fspec%2Fhistory%2F2001-08-01.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-YAML_name_orig_2011_08_06-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-YAML_name_orig_2011_08_06_18-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://stackoverflow.com/questions/6968366/if-yaml-aint-markup-language-what-is-it">"Yet Another Markup Language (YAML) 1.0"</a>. <i>stackoverflow.com</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210423212857/https://stackoverflow.com/questions/6968366/if-yaml-aint-markup-language-what-is-it">Archived</a> from the original on 2021-04-23<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-03-24</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=stackoverflow.com&amp;rft.atitle=Yet+Another+Markup+Language+%28YAML%29+1.0&amp;rft_id=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F6968366%2Fif-yaml-aint-markup-language-what-is-it&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-YAML_spec_2001_12_10-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-YAML_spec_2001_12_10_19-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/spec/history/2001-12-10.html">"Yet Another Markup Language (YAML) 1.0 — Working Draft"</a>. <i>YAML.org</i>. 10 December 2001. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190710131145/https://yaml.org/spec/history/2001-12-10.html">Archived</a> from the original on 10 July 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">8 October</span> 2025</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=YAML.org&amp;rft.atitle=Yet+Another+Markup+Language+%28YAML%29+1.0+%E2%80%94+Working+Draft&amp;rft.date=2001-12-10&amp;rft_id=https%3A%2F%2Fyaml.org%2Fspec%2Fhistory%2F2001-12-10.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-YAML_spec_2002_04_07-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-YAML_spec_2002_04_07_20-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/spec/history/2002-04-07.html">"YAML Ain't Markup Language (YAML) 1.0 — Working Draft"</a>. <i>YAML.org</i>. 7 April 2002. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220113040037/https://yaml.org/spec/history/2002-04-07.html">Archived</a> from the original on 13 January 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">8 October</span> 2025</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=YAML.org&amp;rft.atitle=YAML+Ain%27t+Markup+Language+%28YAML%29+1.0+%E2%80%94+Working+Draft&amp;rft.date=2002-04-07&amp;rft_id=https%3A%2F%2Fyaml.org%2Fspec%2Fhistory%2F2002-04-07.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/about.html">"YAML Ain't Markup Language: About"</a>. <i>YAML.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190414205219/https://yaml.org/about.html">Archived</a> from the original on 14 April 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">8 October</span> 2025</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=YAML.org&amp;rft.atitle=YAML+Ain%27t+Markup+Language%3A+About&amp;rft_id=https%3A%2F%2Fyaml.org%2Fabout.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/refcard.html">"YAML<span class="nowrap">&nbsp;</span>1.1 Reference Card"</a>. <i>YAML.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190414205255/https://yaml.org/refcard.html">Archived</a> from the original on 2019-04-14<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-05-29</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=YAML.org&amp;rft.atitle=YAML%3Cspan+class%3D%22nowrap%22%3E+%3C%2Fspan%3E1.1+Reference+Card&amp;rft_id=https%3A%2F%2Fyaml.org%2Frefcard.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/spec/1.2/spec.html#id2771184">"YAML Ain't Markup Language (YAML) Version 1.2"</a>. <i>YAML.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190124222648/https://yaml.org/spec/1.2/spec.html#id2771184">Archived</a> from the original on 2019-01-24<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-05-29</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=YAML.org&amp;rft.atitle=YAML+Ain%27t+Markup+Language+%28YAML%29+Version+1.2&amp;rft_id=https%3A%2F%2Fyaml.org%2Fspec%2F1.2%2Fspec.html%23id2771184&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-YAML_v1.2.2-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-YAML_v1.2.2_24-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/spec/1.2.2/#indentation-spaces">"YAML specification v1.2.2 Section 6.1. Indentation Spaces"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230312144139/https://yaml.org/spec/1.2.2/#indentation-spaces">Archived</a> from the original on 2023-03-12<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-03-12</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=YAML+specification+v1.2.2+Section+6.1.+Indentation+Spaces&amp;rft_id=https%3A%2F%2Fyaml.org%2Fspec%2F1.2.2%2F%23indentation-spaces&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/spec/1.2/spec.html#id2780069">"YAML Ain't Markup Language (YAML) Version 1.2"</a>. <i>YAML.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190124222648/https://yaml.org/spec/1.2/spec.html#id2780069">Archived</a> from the original on 2019-01-24<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-05-29</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=YAML.org&amp;rft.atitle=YAML+Ain%27t+Markup+Language+%28YAML%29+Version+1.2&amp;rft_id=https%3A%2F%2Fyaml.org%2Fspec%2F1.2%2Fspec.html%23id2780069&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20160917202144/http://www.jigocloud.com/en/blog/yaml-is-json">"Cloud Based Management apps"</a>. <i>JigoCloud.com</i>. Archived from <a rel="nofollow" class="external text" href="http://www.jigocloud.com/en/blog/yaml-is-json">the original</a> on 2016-09-17<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-09-28</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=JigoCloud.com&amp;rft.atitle=Cloud+Based+Management+apps&amp;rft_id=http%3A%2F%2Fwww.jigocloud.com%2Fen%2Fblog%2Fyaml-is-json&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-yaml_structures-27"><span class="mw-cite-backlink">^ <a href="#cite_ref-yaml_structures_27-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-yaml_structures_27-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/spec/1.2/spec.html#id2760395">"YAML 1.2 specification of Structures"</a>. <i>YAML.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190124222648/https://yaml.org/spec/1.2/spec.html#id2760395">Archived</a> from the original on 2019-01-24<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-05-29</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=YAML.org&amp;rft.atitle=YAML+1.2+specification+of+Structures&amp;rft_id=https%3A%2F%2Fyaml.org%2Fspec%2F1.2%2Fspec.html%23id2760395&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><cite id="CITEREFWyngs" class="citation web cs1">Wyngs, Bourumir. <a rel="nofollow" class="external text" href="https://github.com/bourumir-wyngs/serde-yaml-bw">"serde-yaml-bw"</a>. <i>GitHub</i><span class="reference-accessdate">. Retrieved <span class="nowrap">25 July</span> 2025</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=GitHub&amp;rft.atitle=serde-yaml-bw&amp;rft.aulast=Wyngs&amp;rft.aufirst=Bourumir&amp;rft_id=https%3A%2F%2Fgithub.com%2Fbourumir-wyngs%2Fserde-yaml-bw&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.w3.org/TR/2000/REC-xml-20001006#idref">"Extensible Markup Language (XML) 1.0 (Second Edition)"</a>. <i>W3.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20220515043139/http://www.w3.org/TR/2000/REC-xml-20001006#idref">Archived</a> from the original on 15 May 2022<span class="reference-accessdate">. Retrieved <span class="nowrap">27 May</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=W3.org&amp;rft.atitle=Extensible+Markup+Language+%28XML%29+1.0+%28Second+Edition%29&amp;rft_id=http%3A%2F%2Fwww.w3.org%2FTR%2F2000%2FREC-xml-20001006%23idref&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20221226211202/http://m.kuliah-daring-mm-ign.itbk.web.id/IT/2380-2260/SnakeYAML_3344_m-kuliah-daring-mm-ign-itbk.html">"YAML"</a>. <i>Teknik Informatika</i>. 2022-08-04. Archived from <a rel="nofollow" class="external text" href="http://m.kuliah-daring-mm-ign.itbk.web.id/IT/2380-2260/SnakeYAML_3344_m-kuliah-daring-mm-ign-itbk.html">the original</a> on 2022-12-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2022-08-04</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Teknik+Informatika&amp;rft.atitle=YAML&amp;rft.date=2022-08-04&amp;rft_id=http%3A%2F%2Fm.kuliah-daring-mm-ign.itbk.web.id%2FIT%2F2380-2260%2FSnakeYAML_3344_m-kuliah-daring-mm-ign-itbk.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://pyyaml.org/wiki/PyYAMLDocumentation#LoadingYAML">"PyYAML Documentation, Loading YAML"</a>. <i>Pyyaml.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160924203235/http://pyyaml.org/wiki/PyYAMLDocumentation#LoadingYAML">Archived</a> from the original on 2016-09-24<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-09-28</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Pyyaml.org&amp;rft.atitle=PyYAML+Documentation%2C+Loading+YAML&amp;rft_id=http%3A%2F%2Fpyyaml.org%2Fwiki%2FPyYAMLDocumentation%23LoadingYAML&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/spec/current.html#id2506012">"Ain't Markup Language (YAML) Version 1.1"</a>. <i>YAML.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190414205303/https://yaml.org/spec/current.html#id2506012">Archived</a> from the original on 2019-04-14<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-05-29</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=YAML.org&amp;rft.atitle=Ain%27t+Markup+Language+%28YAML%29+Version+1.1&amp;rft_id=https%3A%2F%2Fyaml.org%2Fspec%2Fcurrent.html%23id2506012&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-TypesRepos-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-TypesRepos_33-0">^</a></b></span> <span class="reference-text">Additional, optional-use, logical structures are enumerated in the YAML types repository.<cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/type/index.html">"Language-Independent Types for YAML Version 1.1"</a>. <i>YAML.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190414205311/https://yaml.org/type/index.html">Archived</a> from the original on 2019-04-14<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-05-29</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=YAML.org&amp;rft.atitle=Language-Independent+Types+for+YAML+Version+1.1&amp;rft_id=https%3A%2F%2Fyaml.org%2Ftype%2Findex.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span> The tagged types in the YAML types repository are optional and therefore not essential for conformant YAML processors. "The use of these tags is not mandatory."</span>
</li>
<li id="cite_note-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-34">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/spec/current.html#id2508372">"YAML Ain't Markup Language (YAML) Version 1.1"</a>. <i>YAML.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240613140044/https://yaml.org/spec/1.2.2/#id2508372">Archived</a> from the original on 2024-06-13<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-05-29</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=YAML.org&amp;rft.atitle=YAML+Ain%27t+Markup+Language+%28YAML%29+Version+1.1&amp;rft_id=https%3A%2F%2Fyaml.org%2Fspec%2Fcurrent.html%23id2508372&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-35">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/spec/current.html#id2504671">"Ain't Markup Language (YAML) Version 1.1"</a>. <i>YAML.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240613140044/https://yaml.org/spec/1.2.2/#id2504671">Archived</a> from the original on 2024-06-13<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-05-29</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=YAML.org&amp;rft.atitle=Ain%27t+Markup+Language+%28YAML%29+Version+1.1&amp;rft_id=https%3A%2F%2Fyaml.org%2Fspec%2Fcurrent.html%23id2504671&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/spec/current.html#id2504309">"YAML Ain't Markup Language (YAML) Version 1.1"</a>. <i>YAML.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190414205303/https://yaml.org/spec/current.html#id2504309">Archived</a> from the original on 2019-04-14<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-05-29</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=YAML.org&amp;rft.atitle=YAML+Ain%27t+Markup+Language+%28YAML%29+Version+1.1&amp;rft_id=https%3A%2F%2Fyaml.org%2Fspec%2Fcurrent.html%23id2504309&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-37">^</a></b></span> <span class="reference-text">The incompatibilities were as follows: JSON allows extended character sets like UTF-32 and had incompatible unicode character escape syntax relative to YAML; YAML required a space after separators like comma, equals, and colon while JSON does not. Some non-standard implementations of JSON extend the grammar to include Javascript's <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">/*...*/</code> comments. Handling such edge cases may require light pre-processing of the JSON before parsing as in-line YAML. See also
<a rel="nofollow" class="external autonumber" href="https://metacpan.org/module/JSON::XS#JSON-and-YAML">[1]</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20130829102936/https://metacpan.org/module/JSON::XS#JSON-and-YAML">Archived</a> 2013-08-29 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a>.</span>
</li>
<li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.jigocloud.com/en/blog/yaml-is-json">Parsing JSON with SYCK</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160917202144/http://www.jigocloud.com/en/blog/yaml-is-json">Archived</a> 2016-09-17 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a>.  Note that e.g. Symfony's YAML parser does not support line breaks inside [] or {} structures, which is a major incompatibility with JSON.</span>
</li>
<li id="cite_note-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-39">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><span class="id-lock-subscription" title="Paid subscription required"><a rel="nofollow" class="external text" href="https://medium.com/geekculture/yaml-vs-json-vs-xml-in-go-bf4ebd1066f2">"YAML vs JSON vs XML in Go"</a></span>. <i>Medium</i>. 15 June 2021. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240124022825/https://medium.com/geekculture/yaml-vs-json-vs-xml-in-go-bf4ebd1066f2">Archived</a> from the original on 24 January 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">31 January</span> 2024</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Medium&amp;rft.atitle=YAML+vs+JSON+vs+XML+in+Go&amp;rft.date=2021-06-15&amp;rft_id=https%3A%2F%2Fmedium.com%2Fgeekculture%2Fyaml-vs-json-vs-xml-in-go-bf4ebd1066f2&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-40">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.baeldung.com/yaml-json-differeneces">"Differences Between YAML and JSON"</a>. <i>Baeldung</i>. 9 July 2020. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20230307202829/https://www.baeldung.com/yaml-json-differeneces">Archived</a> from the original on 7 March 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">7 March</span> 2023</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Baeldung&amp;rft.atitle=Differences+Between+YAML+and+JSON&amp;rft.date=2020-07-09&amp;rft_id=https%3A%2F%2Fwww.baeldung.com%2Fyaml-json-differeneces&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-41">^</a></b></span> <span class="reference-text"><cite id="CITEREFSiebenmann2019" class="citation web cs1">Siebenmann, Chris (2019-04-30). <a rel="nofollow" class="external text" href="https://utcc.utoronto.ca/~cks/space/blog/tech/YamlWhitespaceProblem">"My problem with YAML's use of whitespace"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20231201100752/https://utcc.utoronto.ca/~cks/space/blog/tech/YamlWhitespaceProblem">Archived</a> from the original on 2023-12-01<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-10-06</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=My+problem+with+YAML%27s+use+of+whitespace&amp;rft.date=2019-04-30&amp;rft.aulast=Siebenmann&amp;rft.aufirst=Chris&amp;rft_id=https%3A%2F%2Futcc.utoronto.ca%2F~cks%2Fspace%2Fblog%2Ftech%2FYamlWhitespaceProblem&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-what-is-wrong-with-toml-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-what-is-wrong-with-toml_42-0">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://hitchdev.com/strictyaml/why-not/toml/">What is wrong with TOML?</a></span>
</li>
<li id="cite_note-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-43">^</a></b></span> <span class="reference-text">yaml-core@lists.sourceforge.net, mail of June 27, 2018.</span>
</li>
<li id="cite_note-44"><span class="mw-cite-backlink"><b><a href="#cite_ref-44">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/DNemtsov/Lexepars.Grammars.Yaml">"YAML Grammar for Lexepars"</a>. <i><a href="GitHub" title="GitHub">GitHub</a></i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200917105202/https://github.com/DNemtsov/Lexepars.Grammars.Yaml">Archived</a> from the original on 2020-09-17<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-02-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=GitHub&amp;rft.atitle=YAML+Grammar+for+Lexepars&amp;rft_id=https%3A%2F%2Fgithub.com%2FDNemtsov%2FLexepars.Grammars.Yaml&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-YAML_spec_document_markers-45"><span class="mw-cite-backlink"><b><a href="#cite_ref-YAML_spec_document_markers_45-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://yaml.org/spec/1.2/spec.html#id2800401">"YAML Ain't Markup Language (YAML) Version 1.2 # 9.1.2 Document Markers"</a>. <i>YAML.org</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190124222648/https://yaml.org/spec/1.2/spec.html#id2800401">Archived</a> from the original on 2019-01-24<span class="reference-accessdate">. Retrieved <span class="nowrap">2019-05-29</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=YAML.org&amp;rft.atitle=YAML+Ain%27t+Markup+Language+%28YAML%29+Version+1.2+%23+9.1.2+Document+Markers&amp;rft_id=https%3A%2F%2Fyaml.org%2Fspec%2F1.2%2Fspec.html%23id2800401&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-notgreat-46"><span class="mw-cite-backlink">^ <a href="#cite_ref-notgreat_46-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-notgreat_46-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-notgreat_46-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-notgreat_46-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFTournoij2016" class="citation web cs1">Tournoij, Martin (4 Sep 2016). <a rel="nofollow" class="external text" href="https://arp242.net/yaml-config.html">"YAML: probably not so great after all"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190510195249/https://arp242.net/yaml-config.html">Archived</a> from the original on 10 May 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">16 May</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=YAML%3A+probably+not+so+great+after+all&amp;rft.date=2016-09-04&amp;rft.aulast=Tournoij&amp;rft.aufirst=Martin&amp;rft_id=https%3A%2F%2Farp242.net%2Fyaml-config.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-47"><span class="mw-cite-backlink"><b><a href="#cite_ref-47">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://noyaml.com/">"That's a lot of YAML"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190302030219/https://noyaml.com/">Archived</a> from the original on 2 March 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">16 May</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=That%27s+a+lot+of+YAML&amp;rft_id=https%3A%2F%2Fnoyaml.com%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-48"><span class="mw-cite-backlink"><b><a href="#cite_ref-48">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/cblp/yaml-sucks">"YAML sucks"</a>. <i><a href="GitHub" title="GitHub">GitHub</a></i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20190407140216/https://github.com/cblp/yaml-sucks">Archived</a> from the original on 7 April 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">16 May</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=GitHub&amp;rft.atitle=YAML+sucks&amp;rft_id=https%3A%2F%2Fgithub.com%2Fcblp%2Fyaml-sucks&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-Norway-49"><span class="mw-cite-backlink">^ <a href="#cite_ref-Norway_49-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Norway_49-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://hitchdev.com/strictyaml/why/implicit-typing-removed/">"The Norway Problem - why StrictYAML refuses to do implicit typing and so should you"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200221213116/https://hitchdev.com/strictyaml/why/implicit-typing-removed/">Archived</a> from the original on 21 February 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">3 June</span> 2020</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=The+Norway+Problem+-+why+StrictYAML+refuses+to+do+implicit+typing+and+so+should+you&amp;rft_id=https%3A%2F%2Fhitchdev.com%2Fstrictyaml%2Fwhy%2Fimplicit-typing-removed%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
<li id="cite_note-50"><span class="mw-cite-backlink"><b><a href="#cite_ref-50">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://matrix.yaml.io/valid.html">"YAML Test Matrix"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200716003514/https://matrix.yaml.io/valid.html">Archived</a> from the original on 2020-07-16<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-04-03</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=YAML+Test+Matrix&amp;rft_id=https%3A%2F%2Fmatrix.yaml.io%2Fvalid.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AYAML" class="Z3988"></span></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><span class="official-website"><span class="url"><a rel="nofollow" class="external text" href="https://yaml.org">Official website</a></span></span></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1333133064">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:"\a0 · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end   https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1314944253">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd;color:inherit}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf;color:inherit}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf;color:inherit}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff;color:inherit}.mw-parser-output .navbox-even{background-color:#f7f7f7;color:inherit}.mw-parser-output .navbox-odd{background-color:transparent;color:inherit}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end   https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Data_exchange_formats934" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end   https://en.wikipedia.org/ */
</style><div id="Data_exchange_formats934" style="font-size:114%;margin:0 4em"><a href="Data_exchange" title="Data exchange">Data exchange</a> formats</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Human-readable_medium_and_data" title="Human-readable medium and data">Human<br>readable</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Atom_(web_standard)" title="Atom (web standard)">Atom</a></li>
<li><a href="Comma-separated_values" title="Comma-separated values">CSV</a></li>
<li><a href="EDIFACT" title="EDIFACT">EDIFACT</a></li>
<li><a href="JSON" title="JSON">JSON</a>
<ul><li><a href="JSON_Web_Encryption" title="JSON Web Encryption">Web Encryption</a></li>
<li><a href="JSON_Web_Token" title="JSON Web Token">Web Token</a></li>
<li><a href="JSON_Web_Signature" title="JSON Web Signature">Web Signature</a></li></ul></li>
<li><a href="Property_list" title="Property list">Property list</a></li>
<li><a href="Resource_Description_Framework" title="Resource Description Framework">RDF</a></li>
<li><a href="Rebol" title="Rebol">Rebol</a></li>
<li><a href="TOML" title="TOML">TOML</a></li>
<li><a href="Token-Oriented_Object_Notation" title="Token-Oriented Object Notation">TOON</a></li>
<li><a href="XML" title="XML">XML</a></li>
<li><a class="mw-selflink selflink">YAML</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Binary_file" title="Binary file">Binary</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Action_Message_Format" title="Action Message Format">AMF</a></li>
<li><a href="Ascii85" title="Ascii85">Ascii85</a></li>
<li><a href="ASN.1" title="ASN.1">ASN.1</a>
<ul><li><a href="Structure_of_Management_Information" title="Structure of Management Information">SMI</a></li></ul></li>
<li><a href="Apache_Avro" title="Apache Avro">Avro</a></li>
<li><a href="Base32" title="Base32">Base32</a></li>
<li><a href="Base64" title="Base64">Base64</a></li>
<li><a href="Bencode" title="Bencode">Bencode</a></li>
<li><a href="BSON" title="BSON">BSON</a>
<ul><li><a href="UBJSON" title="UBJSON">UBJSON</a></li></ul></li>
<li><a href="Cap'n_Proto" title="Cap'n Proto">Cap'n Proto</a></li>
<li><a href="CBOR" title="CBOR">CBOR</a></li>
<li><a href="FlatBuffers" title="FlatBuffers">FlatBuffers</a></li>
<li><a href="MessagePack" title="MessagePack">MessagePack</a></li>
<li><a href="Property_list" title="Property list">Property list</a></li>
<li><a href="Protocol_Buffers" title="Protocol Buffers">Protocol Buffers</a></li>
<li><a href="Apache_Thrift" title="Apache Thrift">Thrift</a></li>
<li><a href="Cyphal" title="Cyphal">Cyphal</a> DSDL</li>
<li><a href="External_Data_Representation" title="External Data Representation">XDR</a></li>
<li><a href="Uuencoding" title="Uuencoding">uuencode</a></li>
<li><a href="YEnc" title="YEnc">yEnc</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div><a href="Comparison_of_data-serialization_formats" title="Comparison of data-serialization formats">Comparison of data-serialization formats</a></div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
    This article is issued from <a class="external text" title="Last edited on 2026-01-29" href="https://en.wikipedia.org/wiki/?title=YAML&amp;oldid=1335488235">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
            </div>
          </main>
        </div>
      </div>
    </div>
     <script src="./_webp_/webpHandler.js"></script>
  

</body></html>