TextArray
100% local

Base32 encode and decode

Convert text to RFC 4648 Base32 and back, with base32hex and padding options.

Input
Output

Base32 encode and decode

Base32 represents binary data using 32 unambiguous characters — the letters A to Z and the digits 2 to 7 — which makes it robust where Base64 is fragile: it survives case-insensitive systems, avoids characters that clash in URLs and file names, and is easy to read out loud or type by hand. You meet it most often as the secret key behind two-factor authentication apps, in DNS records, and in ni: URIs and file-sharing hashes.

Paste text to encode it, or paste a Base32 string to decode it back — switch direction with the mode selector. The tool follows RFC 4648: input text is converted to UTF-8 bytes first, so accented characters and emoji encode and decode correctly. The alphabet selector switches between the standard alphabet and base32hex (0–9, A–V), the variant used where sort order of the encoded form must match the sort order of the raw bytes.

Padding with = signs fills the output to a multiple of eight characters, as the RFC requires at the end of a stream. Some systems — TOTP secrets among them — omit padding, so you can turn it off with one checkbox. Decoding is forgiving: lowercase input, missing padding, spaces and line breaks are all accepted, and a clear message tells you when the input genuinely isn't Base32.

Everything runs in your browser. Nothing you paste is uploaded anywhere, which matters when the string you are decoding is an authenticator secret or another credential. Copy the result, download it as a .txt file, or send it back to the input to chain conversions.

FAQ

What is Base32 used for?
Mostly for data that people read, type or store in case-insensitive systems: two-factor authentication (TOTP) secret keys, DNS records, file hashes. Its 32-character alphabet avoids look-alike characters and survives being uppercased.
How is Base32 different from Base64?
Base32 uses 32 characters instead of 64, so its output is about 20% longer than Base64. In return it is case-insensitive and avoids +, / and =, which makes it safer in URLs, file names and spoken or handwritten form.
What is the base32hex variant?
Base32hex (RFC 4648 §7) uses the alphabet 0–9 followed by A–V. Encoded values keep the same sort order as the original bytes, which matters in systems like DNSSEC. Pick it in the alphabet selector for both encoding and decoding.
Do I need the = padding?
Strict RFC 4648 streams end with = padding to a multiple of eight characters, but many real-world uses — TOTP secrets, for example — drop it. Encoding lets you toggle padding; decoding accepts both forms.
Is my text uploaded anywhere?
No. Encoding and decoding run entirely in your browser and nothing you paste leaves your device — safe even for authenticator secrets.