Base64 / Hex / URL Encoder
Paste text or an encoded value and I convert instantly between Base64, Base64URL, Base32, hexadecimal, URL and HTML (encode and decode), with proper UTF-8 handling. Nothing is sent to any server.
All formats
| Format | Result |
|---|
Encoding the input text to each format.
How it works · Base64, Base32, hex, URL and HTML
1. Text is first encoded to bytes as
UTF-8. That way accents and emoji are preserved regardless of the
output format.
2. Base64 groups bytes three at a time
(24 bits → 4 symbols). Base64URL uses - and _
instead of + and / and drops the = padding, so
it fits in a URL or a JWT.
3. Base32 (RFC 4648, alphabet
A–Z 2–7) packs 5 bits per symbol. Hex writes each byte
as 2 digits.
4. URL uses
encodeURIComponent (escapes spaces, &, ?…).
HTML turns & < > " ' into their entities so you can
insert text safely into a page.
5. Everything happens in your browser: nothing is uploaded to any server.
Runs locally in your browser · no sign-up · nothing leaves your browser
How it works
The tool encodes and decodes text across six everyday formats: Base64, Base64URL, Base32 (RFC 4648, A–Z 2–7 alphabet), hexadecimal, URL (percent-encoding) and HTML entities. In encode mode it shows the text converted to all six formats at once; in decode mode it interprets the pasted value, recovers the original text and re-exposes it in every format, which lets you convert between encodings in a single step.
Before encoding, the text is converted to bytes as UTF-8 using TextEncoder, so accents and emoji survive the round trip. Base64 packs bytes in groups of 3 (24 bits into 4 symbols), Base64URL replaces + and / with - and _ and drops the = padding, Base32 uses 5 bits per symbol, hex writes each byte as two digits, URL applies encodeURIComponent and HTML turns & < > and quotes into their entities.
Example: encoding the word Hello
- In UTF-8,
Hellotakes 5 bytes:48 65 6c 6c 6f(that is directly its hexadecimal form). - Base64 groups those 5 bytes in blocks of 3 and produces
SGVsbG8=; the trailing=is padding because 5 is not a multiple of 3. - Base32 packs 5 bits per symbol and yields
JBSWY3DP. Any of the three values, pasted in decode mode, returns exactlyHello.
Frequently asked questions
What is the difference between Base64 and Base64URL?
+ and /, which clash with URLs and file names; Base64URL replaces them with - and _ and usually omits the = padding. It is the format used by JWTs and many API tokens. The tool accepts both and restores the padding automatically when decoding.Can Base64 encrypt or protect a password?
What happens to accents and emoji when encoding?
héllo takes 6 bytes (the é uses 2) and encodes in Base64 as aMOpbGxv; decoding returns exactly the same text. Tools that call btoa directly on the string tend to break here.