Base32 to Hex Converter Online

Base32 to Hex Converter - pick separator, case, and prefix. Free, client-side, instant, offline, secure.

Decode RFC 4648 Base32 strings back to hexadecimal bytes. Case-insensitive, whitespace-tolerant, and smart about missing padding.

How to Use Base32 to Hex Converter Online

  1. Paste or type a Base32 string into the input. Upper or lowercase both work, and whitespace is stripped automatically - so you can paste output from gpg --print-md, OTP secrets, or anywhere else Base32 shows up.
  2. Validation runs on every keystroke. Characters outside A-Z, 2-7, or = (padding) surface a specific inline error naming the offender so you can fix it quickly.
  3. Missing padding is auto-filled. Base32 strings are supposed to be a multiple of 8 characters; if you paste an unpadded string, the decoder pads it with = up to the next multiple before decoding.
  4. Pick a separator: space (default), comma + space, newline, none (continuous hex dump), or JSON array for paste-ready JS/Python literals.
  5. Toggle UPPERCASE hex for FF vs ff - default is lowercase because that matches xxd and most hex-editor conventions.
  6. Add a per-token prefix like 0x to produce C/JS-ready integer literals, or leave blank for bare hex bytes.
  7. Copy, Download, or press Ctrl+Enter (⌘+Enter on Mac) to decode and copy in a single shortcut. The stats line shows input character count, bytes decoded, and output length.

Frequently asked questions

How does the Base32 to hex conversion work?

The tool validates your input against the standard RFC 4648 Base32 alphabet (A-Z, 2-7, plus = padding), bit-packs the 5-bit values back into 8-bit bytes, and renders each byte as its 2-digit hexadecimal equivalent.

Are my Base32 strings sent online for processing?

No. The tool runs entirely client-side – no backend requests, no APIs, no logging. Everything is processed directly in your browser, and after the page loads you can keep working with the network disconnected.

What happens if I miss the padding?

The decoder auto-pads with = up to the next multiple of 8 before decoding. That means you can paste an unpadded Base32 string (common in URLs or compact formats) and still get correct bytes out.

Is the tool free?

Yes, 100% free with no cap on input length or number of decodes. No sign-up, no premium tier, no watermark.

Is Base32 case-sensitive?

No. The RFC 4648 Base32 alphabet is officially uppercase, but the tool accepts either case and canonicalises to uppercase before decoding – so jbsw and JBSW decode identically.

Does it work offline?

Yes. HTML, CSS, and JavaScript are self-contained. Once the page has loaded, you can turn off Wi-Fi and the tool keeps working.

What if my string contains characters outside the Base32 alphabet?

The inline error names the first offending character (for example “Invalid Base32 character: 8 – expected A-Z, 2-7, or = padding”) instead of producing garbage bytes. Fix the character and the decode runs again.

Why is Base32 useful compared with hex or Base64?

Base32 uses 32 case-insensitive characters, avoids visually similar digits (no 0, 1, 8, 9), and is safe for URLs, filenames, and voice dictation. It is the standard encoding for TOTP OTP secrets (Google Authenticator) and DNS labels.

What output shapes are useful for code?

Pick the JSON-array separator with an optional 0x prefix to produce a paste-ready JavaScript/Python/Rust byte array. For a hex dump aligned to a grid, leave the defaults (space-separated, lowercase, zero-padded) – that matches xxd output.

How do I encode hex back to Base32?

Use the sibling Hex to Base32 converter. It accepts the same space/comma/newline separators, so any hex produced here pastes cleanly into the reverse direction.