TOP

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.

No signupRuns locally in your browser

Interactive tool

Base32 Encoder

Ready

Processing mode

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.

InputOutputMeaning
HelloJBSWY3DPDefault example
fMY======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

Choose the tool that matches your text or byte workflow.

Advertisement

Sponsored link