snaptools
32
Base32 Decode error
⌃⏎ run · clear · / focus input
// about this tool

Base32 Decode Online

Updated 2026-07-09

Decode Base32 to text online for free. Paste a standard RFC 4648 Base32 string — case-insensitive, padding optional — and SnapTools returns the original text, ready to copy or download. Everything runs in your browser, so nothing you paste is uploaded.

Base32 turns up wherever data has to survive case-folding or human transcription — most visibly as the secret keys behind two-factor authenticator apps. This tool converts any such string back to its readable form, tolerating missing padding and mixed case, and pairs with Base32 Encode for a clean round-trip.

// how to use

  1. 1 Paste a Base32 string into the input panel — padding is optional and case is ignored.
  2. 2 SnapTools decodes it back to text as you type.
  3. 3 Copy or download the decoded text, or switch to Base32 Encode to reverse it.

// examples

Base32 to word
Input
JBUQ====
Output
Hi
Without padding
Input
MZXW6YTBOI
Output
foobar

// common uses

Decoding a TOTP/2FA secret to inspect it Reading Base32-encoded identifiers or tokens Verifying a Base32 Encode conversion round-trips Recovering data stored in case-insensitive form

// faq

No. Decoding runs entirely in your browser, so nothing you paste leaves your machine.
No. The = padding is accepted but optional, and letter case is ignored, so a TOTP secret or any Base32 string decodes whether or not it includes trailing = characters.
The standard RFC 4648 alphabet (A–Z and 2–7). This is the same variant used by authenticator apps and most systems that emit Base32.
Base32 only uses A–Z and 2–7 (plus optional = padding). Characters outside that set — such as 0, 1, or 8 — are not valid and will be flagged.
Yes. Use the Base32 Encode tool to convert any string into RFC 4648 Base32.

Use this via API

Get a free API key →
curl -X POST https://snaptools.dev/api/v1/tools/base32-decode \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"JBUQ===="}'
Esc
↑↓ navigate open Esc close