Base32 encoder en decoder

Base32 stelt binaire data voor met 32 tekens — de tien cijfers 2-7 en de 26 hoofdletters, zonder 0/O of 1/I om leesfouten te vermijden. Daardoor is het ideaal voor alles wat een mens moet typen of hardop lezen: TOTP-secrets voor tweefactorauthenticatie, vouchercodes, hoofdletterongevoelige identifiers. Deze tool encodeert binaire data of tekst naar Base32 en decodeert terug, volgens RFC 4648 met optionele padding.

Base32 encoderen of decoderen

  1. 1

    Plak tekst of upload een bestand

    Invoer wordt behandeld als bytes. UTF-8 is de standaardinterpretatie voor tekstinvoer.

  2. 2

    Kies de richting

    Encode om ruwe bytes om te zetten naar een Base32-string; decode om de bytes terug te halen.

  3. 3

    Configureer padding

    RFC 4648 specificeert `=`-padding tot een lengte die een veelvoud van 8 is. Zet uit voor TOTP-secrets en compacte tokens.

  4. 4

    Kopieer het resultaat

    Gecodeerde uitvoer is uppercase, met of zonder padding volgens je instelling.

Het RFC 4648-alfabet

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2 3 4 5 6 7

Geen 0, geen 1, geen 8, geen 9. Elk teken encodeert 5 bits (2^5 = 32), dus 5 invoerbytes worden 8 uitvoertekens.

Uitgewerkt voorbeeld

De ASCII-string foo encoderen (bytes 0x66 0x6F 0x6F = 01100110 01101111 01101111):

  1. Verdeel in 5-bit groepen: 01100 11001 10111 10110 1111 (laatste groep opgevuld)
  2. Koppel aan alfabet: M Z X W 6
  3. Voeg === padding toe om 8 tekens te bereiken: MZXW6===

Padding- en lengteregels

Invoerbytes Uitvoerlengte Padding
1 8 ======
2 8 ====
3 8 ===
4 8 =
5 8 (geen)

Varianten naast RFC 4648

  • Base32 Hex — Alfabet 0-9A-V, gebruikt door NSEC3 in DNSSEC.
  • Crockford’s Base32 — Alfabet geoptimaliseerd voor menselijk typen; vervangt O0, I/L1 bij decode. Gebruikt door ULIDs en sommige licentiesleutels.

Deze tool gebruikt standaard RFC 4648.

TOTP-secrets

Het otpauth:// URI-formaat dat Google Authenticator en elke moderne 2FA-app gebruiken, encodeert het gedeelde secret in Base32 zonder padding. Wanneer je een QR scant voor “My Service”, is de parameter secret= een Base32-string. Decodeer die met deze tool om de ruwe bytes te bekijken die de HMAC gebruikt.

Veelgestelde vragen

Base32 is hoofdletterongevoelig en vermijdt op elkaar lijkende tekens, wat belangrijk is voor alles wat een mens leest of typt. Base64 is dichter (minder tekens voor dezelfde bytes), maar vereist onderscheid tussen I en l en tussen 0 en O, wat misgaat in handschrift en kleine druk.

RFC 4648 zegt van wel, maar de meeste echte consumers (TOTP-apps, ULID-bibliotheken, DNSSEC-resolvers) accepteren invoer zonder padding. Deze tool laat je kiezen; beide vormen plakken en decoderen zou moeten werken.

Standaard Base32 heeft geen 0, 1, 8 of 9 en is altijd uppercase. Als je invoer die tekens bevat, is het mogelijk Crockford’s variant of base32hex, niet RFC 4648. Schoon de invoer op of kies de juiste variant.

Nee. Encoderen en decoderen gebeurt in de browser. Noch invoer noch resultaat verlaat je machine.

Gerelateerde tools