Base32 Encoder & Decoder

Encode text to Base32 or decode a Base32 string back to UTF-8 text in your browser. Choose RFC 4648, base32hex or Crockford; your input is processed locally and never sent to a server.

Input
0 chars · 0 bytes
Try:
Result
✓ Case-insensitive binary-to-text encoding ✓ Used for TOTP/2FA secrets, DNS and file names ✓ UTF-8 and Unicode support ✓ Client-side processing only
Examples
Encode text to Base32
Variant: RFC 4648 (standard)
Input Hello, World!
Output JBSWY3DPFQQFO33SNRSCC===

Standard RFC 4648 Base32 with padding.

Decode Base32
Variant: RFC 4648 (standard)
Input JBSWY3DPFQQFO33SNRSCC===
Output Hello, World!

Decoding restores the original UTF-8 text.

Encode with the base32hex alphabet
Variant: base32hex (extended hex)
Input Hello
Output 91IMOR3F

base32hex uses the RFC 4648 Extended Hex alphabet: 0–9 and A–V. Unlike standard Base32, the same bytes do not begin with JBSW.

Encode with Crockford Base32
Variant: Crockford
Input Hello
Output 91JPRV3F

Crockford Base32 is designed for people to read and type. It has no = padding and avoids the easily confused letters I, L, O and U.

How Base32 encoding works

Base32 is a binary-to-text encoding that represents data with 32 ASCII characters. The encoder reads your UTF-8 text as bytes, groups the bits in sets of five, and maps each group to one character. Five input bytes become eight Base32 characters; if the last group is incomplete, the RFC 4648 formats use = padding.

To encode, enter plain text, choose the matching variant and copy the resulting Base32 string. To decode Base32 to text, paste the encoded string, select the variant used to create it and switch the tool to decoding. The decoder accepts upper- or lowercase input and ignores spaces, hyphens and padding.

Base32 is useful where text must be easy to read or type: TOTP/2FA secret keys, DNS labels, file names and manually exchanged identifiers are common examples. It is an encoding format, not encryption, so a Base32 string should never be treated as secret merely because it is not immediately readable.

Base32 alphabet and variants

This Base32 encoder and decoder offers three compatible-but-distinct alphabets. Select the same variant for decoding that was used for encoding.

  • RFC 4648 (standard): A–Z and 2–7, with = padding. This is the usual choice for a standard Base32 string and many TOTP secrets.
  • base32hex: 0–9 and A–V, with = padding. It is the RFC 4648 Extended Hex alphabet.
  • Crockford: 0–9 and letters excluding I, L, O and U, without padding. It is designed for human transcription; this decoder also reads O as 0 and I/L as 1.

These variants do not produce the same text representation for the same input. If a Base32 string will not decode, first check that its alphabet and padding convention match the selected variant.

FAQ

No. Base32 is an encoding, not encryption. Anyone can decode it back without a key, so it provides no confidentiality.

Base32 uses 32 characters and is case-insensitive, producing longer output than Base64 but easier to type and safer for URLs, file names and manual entry.

In RFC 4648 and base32hex, = is padding. It fills the final 8-character group when the input length is not an exact multiple of five bytes. Crockford Base32 does not use padding.

Use RFC 4648 unless the source specifies another format. Choose base32hex for the Extended Hex alphabet (0–9 and A–V), or Crockford for human-readable identifiers that omit I, L, O and U. Encoding and decoding must use the same variant.

Yes. The decoder ignores spaces, hyphens and padding, and it accepts lowercase letters. In Crockford mode it also interprets O as 0 and I or L as 1 to accommodate common transcription mistakes.

The string may use a different Base32 alphabet, contain a character that is not valid for the selected variant, or be incomplete. Confirm whether the source used RFC 4648, base32hex or Crockford, then paste the complete value.

No. Encoding and decoding run locally in your browser, so the text and Base32 strings you enter are not sent to the server for conversion.
Related tools

Binary Converter Online

Convert text into 8-bit binary groups and decode binary bytes back into readable text.

ASCII Converter

Convert ASCII characters and numeric codes for protocol and parser workflows.

JWT Decoder Online

Decode JWT tokens in-browser and inspect header, payload, claims, and expiration data.