<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.35 (Ruby 3.2.3) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-crockford-davis-base32-for-humans-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="base32-for-humans">Base32 for Humans</title>

    <author initials="D." surname="Crockford" fullname="Douglas Crockford">
      <organization></organization>
      <address>
        <email>douglas@crockford.com</email>
      </address>
    </author>
    <author initials="K. R." surname="Davis" fullname="Kyzer R. Davis">
      <organization>Cisco Systems</organization>
      <address>
        <email>kydavis@cisco.com</email> <email>kyzer.davis@outlook.com</email>
      </address>
    </author>

    <date year="2026"/>

    
    <workgroup>Independent</workgroup>
    <keyword>encoding</keyword> <keyword>base32</keyword>

    <abstract>


<?line 63?>

<t>This document details the formal specification of Base32 for Humans; an alternate Base32 alphabet which extends the "Handled by Humans" text found in Section 3.4 of RFC 4648.
This base features an alphabet curated for expressing numbers in a form that can be conveniently and accurately transmitted between humans and computer systems.</t>



    </abstract>



  </front>

  <middle>


<?line 68?>

<section anchor="introduction"><name>Introduction</name>

<t>Douglas Crockford's Base32 has been published at <xref target="DCB32"/> since the early 2000s.
This Base32 variant alphabet has been widely implemented and tested across the industry as an alternative Base32 (<xref section="6" sectionFormat="comma" target="RFC4648"/>) and Base32hex (<xref section="7" sectionFormat="comma" target="RFC4648"/>); however it does not have a standards-based document published with any standards body.
Since Base32 itself was published with the IETF; it is fitting to publish this Base32 variant with the IETF as well.</t>

<t>This document serves to provide a standards-based reference for new libraries and for future RFCs to cite.
One example is its use with Universally Unique IDentifiers (UUIDs) defined in <xref target="RFC9562"/>, where Base32 for Humans is a recommended alternate encoding method via <xref target="new-uuid-encoding-techniques-ietf-draft"/>.</t>

<t>Where possible, the content of this document mirrors the text of the original webpage, with expanded commentary and clarification where required, such as new encoding and decoding test vectors and comparisons to newer BaseXX alphabets.</t>

<section anchor="goals"><name>Goals</name>

<t>The goals of this Base32 alphabet are as follows:</t>

<t><list style="symbols" spacing="compact">
  <t>Be human readable and machine readable.</t>
  <t>Be compact: Humans have difficulty in manipulating long strings of arbitrary symbols.</t>
  <t>Be error resistant: Entering the symbols must not require keyboarding gymnastics.</t>
  <t>Be pronounceable: Humans should be able to accurately transmit the symbols to other humans using a telephone.</t>
</list></t>

</section>
</section>
<section anchor="comparisons"><name>Comparing Existing Alphabets</name>

<t>When examining other BaseXX alphabets against the goals defined in <xref target="goals"/>, the following observations are true:</t>

<t><list style="symbols" spacing="compact">
  <t>Base10 and Base16 (<xref section="8" sectionFormat="comma" target="RFC4648"/>) are well-known alphabets but tend to produce encoded outputs that are too long for human consumption.</t>
  <t>Base32 (<xref section="6" sectionFormat="comma" target="RFC4648"/>) and Base32hex (<xref section="7" sectionFormat="comma" target="RFC4648"/>) strike a balance between compactness and error resistance but include characters that are challenging for human use cases (see <xref section="3.4" sectionFormat="comma" target="RFC4648"/>).</t>
  <t>Base36 often uses the entire alphanumeric range and cannot easily substitute problematic characters.</t>
  <t>Base58 used in Bitcoin (<xref target="Base58btc"/>) removes similar problematic characters (0, Ii, Oo, Ll) but introduces both uppercase and lowercase letters, which can cause issues for case-sensitive inputs.</t>
  <t>Base62 (<xref target="IEEEBase62"/>) is a large alphabet with no symbols but, like Base36, uses uppercase and lowercase letters and therefore shares the same issues as Base36 and Base58.</t>
  <t>Base64 (<xref section="4" sectionFormat="comma" target="RFC4648"/>) and Base64url (<xref section="5" sectionFormat="comma" target="RFC4648"/>) provide compact encodings but require uppercase, lowercase, and special characters; removing any alphanumeric character typically forces a special character into the alphabet, which is undesirable for human-oriented use.</t>
</list></t>

<t>The length of the Base32 alphabet (32 characters) allows selecting a subset of characters while omitting problematic ones.
While this is not the most compact encoding available, avoiding symbols and treating alphabet characters as equivalent improves human readability and reduces transcription errors when reading aloud or typing.</t>

<t>Compared to Z-Base-32 (<xref target="ZB32"/>), many design considerations overlap, but Z-Base-32 removes a different set of characters (0, 2, Ll, Vv).
Z-Base-32 also reorders the alphabet in order to make certain characters appear more frequently for its target use cases.
As a result, Z-Base-32 does not follow US-ASCII collation (<xref target="RFC20"/>) and does not sort the same as its binary counterpart.</t>

</section>
<section anchor="alphabet"><name>The Alphabet</name>

<t>The Base32 for Humans alphabet, which can be referenced as "Base32plus", is a superset of the Base16 alphabet and an alternate version of the Base32hex alphabet; both featuring US-ASCII <xref target="RFC20"/> characters.</t>

<t>The encoded data conveys each character as a 5-bit value.
If necessary, values are zero-extended as described in <xref target="padding"/> so the input data length is a multiple of 5 bits.</t>

<t>Base32plus excludes four letters: I, L, O, and U.</t>

<t>I/i and l/L can be confused with the number 1, O/o can be confused with 0, and U can produce accidental obscenities or be confused with V/v.
Note that 5/S/s and 2/Z/z are not modified in Base32plus, although these characters can look similar in handwriting (see <xref target="ZB32"/>).</t>

<t><xref target="alphabetTable"/> details the alphabet characters along with their respective decoding and encoding values.
When encoding, only uppercase letters are used.
For more information on decoding, see <xref target="decoding"/>.</t>

<texttable title="The Base32 for Humans Alphabet as table" anchor="alphabetTable">
      <ttcol align='left'>Value</ttcol>
      <ttcol align='left'>Decoding</ttcol>
      <ttcol align='left'>Encoding</ttcol>
      <c>00</c>
      <c>0 O o</c>
      <c>0</c>
      <c>01</c>
      <c>1 I i L l</c>
      <c>1</c>
      <c>02</c>
      <c>2</c>
      <c>2</c>
      <c>03</c>
      <c>3</c>
      <c>3</c>
      <c>04</c>
      <c>4</c>
      <c>4</c>
      <c>05</c>
      <c>5</c>
      <c>5</c>
      <c>06</c>
      <c>6</c>
      <c>6</c>
      <c>07</c>
      <c>7</c>
      <c>7</c>
      <c>08</c>
      <c>8</c>
      <c>8</c>
      <c>09</c>
      <c>9</c>
      <c>9</c>
      <c>10</c>
      <c>A a</c>
      <c>A</c>
      <c>11</c>
      <c>B b</c>
      <c>B</c>
      <c>12</c>
      <c>C c</c>
      <c>C</c>
      <c>13</c>
      <c>D d</c>
      <c>D</c>
      <c>14</c>
      <c>E e</c>
      <c>E</c>
      <c>15</c>
      <c>F f</c>
      <c>F</c>
      <c>16</c>
      <c>G g</c>
      <c>G</c>
      <c>17</c>
      <c>H h</c>
      <c>H</c>
      <c>18</c>
      <c>J j</c>
      <c>J</c>
      <c>19</c>
      <c>K k</c>
      <c>K</c>
      <c>20</c>
      <c>M m</c>
      <c>M</c>
      <c>21</c>
      <c>N n</c>
      <c>N</c>
      <c>22</c>
      <c>P p</c>
      <c>P</c>
      <c>23</c>
      <c>Q q</c>
      <c>Q</c>
      <c>24</c>
      <c>R r</c>
      <c>R</c>
      <c>25</c>
      <c>S s</c>
      <c>S</c>
      <c>26</c>
      <c>T t</c>
      <c>T</c>
      <c>27</c>
      <c>V v</c>
      <c>V</c>
      <c>28</c>
      <c>W w</c>
      <c>W</c>
      <c>30</c>
      <c>X x</c>
      <c>X</c>
      <c>31</c>
      <c>Y y</c>
      <c>Y</c>
      <c>32</c>
      <c>Z z</c>
      <c>Z</c>
</texttable>

<t>The Alphabet as a continuous text input can be found in <xref target="alphabetText"/>.</t>

<figure title="The Base32 for Humans Alphabet as text" anchor="alphabetText"><artwork><![CDATA[
0123456789ABCDEFGHJKMNPQRSTVWXYZ
]]></artwork></figure>

<section anchor="padding"><name>Padding</name>

<t>The Base32plus alphabet does not use a special padding character.</t>

<t>If the bit length of the input is not a multiple of 5, zero-extend the number in the least-significant bit positions to make the length a multiple of 5.</t>

<t>For example if the data is a 4-bit value <spanx style="verb">0b1111</spanx> the padded data would be a 5-bit value <spanx style="verb">0b11110</spanx>.</t>

</section>
<section anchor="checksums"><name>Checksums</name>

<t>An application <bcp14>MAY</bcp14> append a check symbol to a symbol string.
This check symbol can detect symbol-substitution and symbol-transposition errors, allowing transmission and entry errors to be caught cheaply and early.</t>

<t>The check symbol encodes the number modulo 37, the smallest prime greater than 32.
Five additional symbols are defined for encoding or decoding the check symbol; these are shown in <xref target="checksumTable" format="title"/> and extend <xref target="alphabetTable" format="title"/>.</t>

<t>These additional symbols were chosen to avoid confusion with punctuation or URL formatting.</t>

<texttable title="The Base32 for Humans Checksum Values" anchor="checksumTable">
      <ttcol align='left'>Value</ttcol>
      <ttcol align='left'>Decoding</ttcol>
      <ttcol align='left'>Encoding</ttcol>
      <c>32</c>
      <c>*</c>
      <c>*</c>
      <c>33</c>
      <c>~</c>
      <c>~</c>
      <c>34</c>
      <c>$</c>
      <c>$</c>
      <c>35</c>
      <c>=</c>
      <c>=</c>
      <c>36</c>
      <c>U u</c>
      <c>U</c>
</texttable>

<t>The the checksums postfixed to the <xref target="alphabetText" format="title"/> can be found in <xref target="checksumText" format="title"/>.</t>

<figure title="The Base32 for Humans Alphabet with Checksums" anchor="checksumText"><artwork><![CDATA[
0123456789ABCDEFGHJKMNPQRSTVWXYZ*~$=U
]]></artwork></figure>

<t>Where these symbols prove problematic for various application use cases, implementations <bcp14>MAY</bcp14> strip checksum values, utilize percent-encoding, or other application-specific methods to ensure proper handling and delivery of the checksum value.</t>

</section>
</section>
<section anchor="decoding"><name>Decoding</name>

<t>When decoding, both uppercase and lowercase letters are accepted.
I/i and L/l are treated as 1, and O/o is treated as 0.</t>

<t>Hyphens (<spanx style="verb">-</spanx>) <bcp14>MAY</bcp14> be inserted into symbol strings to partition them into manageable pieces, improving readability and reducing confusion.
Hyphens are ignored during decoding, although an application <bcp14>MAY</bcp14> check hyphen placement to help validate a symbol string.</t>

</section>
<section anchor="conventions-and-definitions"><name>Conventions and Definitions</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

</section>
<section anchor="security_considerations"><name>Security Considerations</name>

<t>Section <xref target="checksums" format="title"/> addresses the primary security-related concern in this document: data integrity and validation of decoded data.</t>

<t>No additional security considerations are identified.</t>

</section>
<section anchor="iana_considerations"><name>IANA Considerations</name>

<t>This document has no IANA actions.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC20">
  <front>
    <title>ASCII format for network interchange</title>
    <author fullname="V.G. Cerf" initials="V.G." surname="Cerf"/>
    <date month="October" year="1969"/>
  </front>
  <seriesInfo name="STD" value="80"/>
  <seriesInfo name="RFC" value="20"/>
  <seriesInfo name="DOI" value="10.17487/RFC0020"/>
</reference>

<reference anchor="RFC4648">
  <front>
    <title>The Base16, Base32, and Base64 Data Encodings</title>
    <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
    <date month="October" year="2006"/>
    <abstract>
      <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4648"/>
  <seriesInfo name="DOI" value="10.17487/RFC4648"/>
</reference>

<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC9562">
  <front>
    <title>Universally Unique IDentifiers (UUIDs)</title>
    <author fullname="K. Davis" initials="K." surname="Davis"/>
    <author fullname="B. Peabody" initials="B." surname="Peabody"/>
    <author fullname="P. Leach" initials="P." surname="Leach"/>
    <date month="May" year="2024"/>
    <abstract>
      <t>This specification defines UUIDs (Universally Unique IDentifiers) --
also known as GUIDs (Globally Unique IDentifiers) -- and a Uniform
Resource Name namespace for UUIDs. A UUID is 128 bits long and is
intended to guarantee uniqueness across space and time. UUIDs were
originally used in the Apollo Network Computing System (NCS), later
in the Open Software Foundation's (OSF's) Distributed Computing
Environment (DCE), and then in Microsoft Windows platforms.</t>
      <t>This specification is derived from the OSF DCE specification with the
kind permission of the OSF (now known as "The Open Group"). Information from earlier versions of the OSF DCE specification have
been incorporated into this document. This document obsoletes RFC
4122.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9562"/>
  <seriesInfo name="DOI" value="10.17487/RFC9562"/>
</reference>


<reference anchor="IEEEBase62" target="https://ieeexplore.ieee.org/document/4737287">
  <front>
    <title>A secure, lossless, and compressed Base62 encoding</title>
    <author >
      <organization>IEEE</organization>
    </author>
    <date year="2008" month="November"/>
  </front>
</reference>
<reference anchor="Base58btc" target="https://github.com/bitcoin/bitcoin/blob/master/src/base58.cpp">
  <front>
    <title>Base58 Bitcoin</title>
    <author >
      <organization>Bitcoin</organization>
    </author>
    <date year="2008" month="November"/>
  </front>
  <seriesInfo name="commit" value="fae71d3"/>
</reference>
<reference anchor="DCB32" target="https://www.crockford.com/base32.html">
  <front>
    <title>Douglas Crockford's Base32</title>
    <author initials="D." surname="Crockford" fullname="Douglas Crockford">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="new-uuid-encoding-techniques-ietf-draft" target="https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft">
  <front>
    <title>Alternate UUID Encoding Methods</title>
    <author initials="K." surname="Davis" fullname="Kyzer Davis">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="ZB32" target="https://philzimmermann.com/docs/human-oriented-base-32-encoding.txt">
  <front>
    <title>human-oriented base-32 encoding</title>
    <author initials="Z." surname="O'Whielacronx" fullname="Zooko O'Whielacronx">
      <organization></organization>
    </author>
    <date year="2009" month="November"/>
  </front>
</reference>


    </references>

</references>


<?line 252?>

<section anchor="changelog"><name>Changelog</name>

<t>draft-00:</t>

<t><list style="symbols" spacing="compact">
  <t>Initial Release</t>
</list></t>

</section>
<section anchor="test_vectors"><name>Test Vectors</name>

<t>The following text vectors start with a base of those found in <xref target="RFC4648"/> and then add additional values that illustrate decoding of specific values and the usage of the checksum.</t>

<section anchor="test_vectors_encode"><name>Encoding</name>

<texttable title="Base32 for Humans Encode Table" anchor="encodeTable">
      <ttcol align='left'>Input</ttcol>
      <ttcol align='left'>Encoded Data</ttcol>
      <ttcol align='left'>Checksum?</ttcol>
      <ttcol align='left'>Input Type</ttcol>
      <c><spanx style="verb">f</spanx></c>
      <c><spanx style="verb">CR</spanx></c>
      <c>N</c>
      <c>Text</c>
      <c><spanx style="verb">fo</spanx></c>
      <c><spanx style="verb">CSQG</spanx></c>
      <c>N</c>
      <c>Text</c>
      <c><spanx style="verb">foo</spanx></c>
      <c><spanx style="verb">CSQPY</spanx></c>
      <c>N</c>
      <c>Text</c>
      <c><spanx style="verb">foob</spanx></c>
      <c><spanx style="verb">CSQPYRG</spanx></c>
      <c>N</c>
      <c>Text</c>
      <c><spanx style="verb">fooba</spanx></c>
      <c><spanx style="verb">CSQPYRK1</spanx></c>
      <c>N</c>
      <c>Text</c>
      <c><spanx style="verb">foobar</spanx></c>
      <c><spanx style="verb">CSQPYRK1E8</spanx></c>
      <c>N</c>
      <c>Text</c>
      <c><spanx style="verb">foobar</spanx></c>
      <c><spanx style="verb">CSQPYRK1E86</spanx></c>
      <c>Y</c>
      <c>Text</c>
      <c><spanx style="verb">test</spanx></c>
      <c><spanx style="verb">EHJQ6X0</spanx></c>
      <c>N</c>
      <c>Text</c>
      <c><spanx style="verb">test</spanx></c>
      <c><spanx style="verb">EHJQ6X0V</spanx></c>
      <c>Y</c>
      <c>Text</c>
      <c><spanx style="verb">123456789</spanx></c>
      <c><spanx style="verb">0XDWT58U</spanx></c>
      <c>Y</c>
      <c>Integer</c>
</texttable>

</section>
<section anchor="test_vectors_decode"><name>Decoding</name>

<texttable title="Base32 for Humans Decode Table" anchor="decodeTable">
      <ttcol align='left'>Input</ttcol>
      <ttcol align='left'>Decoded Data</ttcol>
      <ttcol align='left'>Test Info</ttcol>
      <c><spanx style="verb">CSQPYRK1E8</spanx></c>
      <c><spanx style="verb">foobar</spanx></c>
      <c>Basic Input 1, decoded as text</c>
      <c><spanx style="verb">CSQPY-RK1E8</spanx></c>
      <c><spanx style="verb">foobar</spanx></c>
      <c>Decode as text with dashes</c>
      <c><spanx style="verb">csqpyrkle8</spanx></c>
      <c><spanx style="verb">foobar</spanx></c>
      <c>Decode l input as text</c>
      <c><spanx style="verb">csqpyrkie8</spanx></c>
      <c><spanx style="verb">foobar</spanx></c>
      <c>Decode i input as text</c>
      <c><spanx style="verb">EHJQ6X0</spanx></c>
      <c><spanx style="verb">test</spanx></c>
      <c>Base Input 2, decoded as text</c>
      <c><spanx style="verb">ehjq6xo</spanx></c>
      <c><spanx style="verb">test</spanx></c>
      <c>Decode o input as text</c>
      <c><spanx style="verb">CSQPYRK1E86</spanx></c>
      <c><spanx style="verb">foobar</spanx></c>
      <c>Checksum 1, decoded as text</c>
      <c><spanx style="verb">EHJQ6X0V</spanx></c>
      <c><spanx style="verb">test</spanx></c>
      <c>Checksum 2, decoded as text</c>
      <c><spanx style="verb">0XDWT58U</spanx></c>
      <c><spanx style="verb">123456789</spanx></c>
      <c>Checksum value of extended alphabet, decoded as integer</c>
</texttable>

</section>
</section>


  </back>

<!-- ##markdown-source:
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

-->

</rfc>

