Base32 Encoder / Decoder

Encode UTF-8 text to RFC 4648 Base32 or decode a Base32 value back to text.

  • Runs locally in your browser
  • No upload required

Try it

Processed entirely in your browser; nothing is uploaded.

Result
NBSWY3DP

Supported formats

Input
text
Output
text

Privacy

Runs entirely in your browser. Your input is never uploaded, stored, or sent to a third party.

Processing
In your browser
Privacy level
Browser only

Encoded 5 character(s) of UTF-8 text to 8 Base32 character(s).

How it works

  • Read the input as UTF-8 bytes.
  • Packed the bytes into five-bit groups and mapped each to the A-Z2-7 alphabet.
  • Padded the final block with '=' to a multiple of eight characters.
  • Base32 is an encoding, not encryption; it provides no confidentiality.
  • Base32 is larger than Base64 but survives systems that fold case or cannot carry punctuation.

Methodology

  1. Encode by packing UTF-8 bytes into five-bit groups and mapping each to the A-Z2-7 alphabet, padding the final block.
  2. Decode by reversing that mapping, ignoring optional padding and case, and rejecting a block length that only padding could produce.
  3. Treat the result as an encoding only: it provides no confidentiality.

Usage

  1. Choose encode or decode.
  2. Paste text to encode, or a Base32 value to decode.
  3. Read the result; use Copy result to reuse it.

Examples

These are examples, not current values: they use fixed inputs, while the interactive tool computes live results in your browser.

Encode ASCII

jsonSelect to copy
{
  "mode": "encode",
  "value": "hello"
}

Encode Unicode

jsonSelect to copy
{
  "mode": "encode",
  "value": "café 🌍"
}

Decode a Base32 value

jsonSelect to copy
{
  "mode": "decode",
  "value": "NBSWY3DP"
}

Limitations

Where Base32 is used

Base32 appears in one-time-password secrets, DNS records and anywhere a case-insensitive, human-transcribable token is needed. It is deliberately larger than Base64; choose it for robustness, not size.

Frequently asked questions

Why is Base32 longer than Base64?
Base32 uses five bits per character instead of six, so it needs more characters to represent the same bytes; the trade-off is a case-insensitive, punctuation-free alphabet.
Does the decoder accept lower case?
Yes. The encoder emits upper case, but decoding normalises the input to upper case first.

Sources

  1. RFC 4648: The Base16, Base32, and Base64 Data Encodings — IETF