Free exact browser converter
Base32 Encoder
Encode UTF-8 text or hex bytes as padded RFC 4648 Base32. Keep zero bytes and use the standard A-Z and 2-7 alphabet.
Interactive tool
Base32 Encoder
Ready
Choose a clear output representation.
Detailed conversion guide
How Base32 Encoder Works
RFC 4648 Base32 packs the original bytes into groups of five bits. The alphabet is A-Z followed by 2-7. A short final group is padded with zero bits, then = signs complete an eight-character block.
Text is encoded as UTF-8 before Base32. Hex input instead represents arbitrary bytes: 0000 produces AAAA==== and retains both zero bytes. This is byte encoding, not integer radix conversion.
| Input | Output | Meaning |
|---|---|---|
Hello | JBSWY3DP | Default example |
f | MY====== | Boundary example |
JavaScript Example
Runnable example for the default sample. The tool also validates its full input contract.
const bytes = new TextEncoder().encode(input);
const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
let bits = Array.from(bytes, b => b.toString(2).padStart(8,"0")).join("");
let encoded = "";
for(let i=0;i<bits.length;i+=5) encoded += alphabet[parseInt(bits.slice(i,i+5).padEnd(5,"0"),2)];
encoded = encoded.padEnd(Math.ceil(encoded.length/8)*8,"=");Formats, Boundaries and Limitations
Crockford Base32 and Base32hex use other alphabets and are not output formats here. Use the matching RFC 4648 decoder to reverse the result.
Text input preserves visible spaces and line breaks. For a binary payload, select hex input rather than pasting the printed hex characters in text mode.
Related converters
More Text and Encoding Tools
Choose the tool that matches your text or byte workflow.