Skip to main content

HelpyTools
Converters Dev Tools Design Tools Text Tools
  • JSON
  • Regex
  • Encode
  • JWT
  • Hash
  • JS/CSS
  • package.json
  • Wireframe
  • Keys
  • UUID
  • Epoch
  • Password
  • Bases
  • Cron
  • QR

© 2026 helpytools.com

Encoder / Decoder

Encode and decode text with URL, HTML, Base64, Unicode, and other transforms.

Input
Output
⚠️

Base64

A–Z a–z 0–9 + /The 64 characters used in standard Base64
=Padding character — added to make length a multiple of 4
- _URL-safe variant replaces + and / to avoid URL conflicts
3 bytes → 4 charsEvery 3 input bytes become 4 Base64 characters (~33% size increase)

Examples — click to load

Hello, World!Basic text → Base64
{"user":"alice"}JSON payload (common in JWTs)
SGVsbG8sIFdvcmxkIQ==Decode → "Hello, World!"

Base32 (RFC 4648)

A–Z 2–7The 32-character alphabet — case-insensitive, no 0/1/8/9
=Padding to an 8-character block boundary
5 bits / charEncodes 5 bytes → 8 characters (less dense than Base64)

Examples — click to load

HelloText → Base32
JBSWY3DPDecode → "Hello"

URL Encoding

%XXPercent-encoded byte — XX is the hex value of the byte
A–Z a–z 0–9 - _ . ~Unreserved characters — never encoded
encodeURIComponentEncodes everything except unreserved chars — use for query param values
encodeURILeaves reserved chars intact — use for full URLs
+ vs %20Both represent a space — + is only valid in query strings (form encoding)
: / ? # [ ] @ ! $ & ' ( ) * + , ; =Reserved characters — encoded when used as data (not structure)

Examples — click to load

hello world & moreSpaces and & encoded
https://example.com/search?q=…Full URL as a query param value
caf%C3%A9%20au%20laitDecode → "café au lait"

HTML Entities

&& — must be escaped to avoid starting an entity
&lt;< — must be escaped to avoid opening a tag
&gt;> — should be escaped inside attribute values and CDATA
&quot;" — must be escaped inside double-quoted attributes
&#039;' — must be escaped inside single-quoted attributes

Examples — click to load

<script>alert("XSS")</script>Escape for safe HTML output
Price: £10 & taxAmpersand in text content
&lt;b&gt;Hello &amp; World&lt;/b&gt;Decode entities back to characters

Unicode Escapes

\uXXXX4-hex-digit escape — covers the Basic Multilingual Plane (U+0000 to U+FFFF)
\u{XXXXX}Variable-length ES6 escape — covers all Unicode code points including emoji
ASCII passthroughCharacters below U+0080 are left as-is — only non-ASCII gets escaped
JSON stringsJSON uses \uXXXX to safely embed any character in a string literal

Examples — click to load

café résuméAccented characters → \uXXXX
Hello 你好 мирMixed scripts
\u0048\u0065\u006C\u006C\u006FDecode → "Hello"

Hex

00–ffEach byte becomes two hex digits (lowercase on encode)
UTF-8Text is encoded as UTF-8 first, so non-ASCII spans multiple bytes
0x · spacesDecode is lenient — 0x prefixes, spaces and commas are stripped
even lengthDecode needs whole byte pairs — an odd digit count is an error

Examples — click to load

HelloText → hex bytes
48 65 6c 6c 6fDecode (spaces ignored) → "Hello"

Binary

8 bits / byteEach UTF-8 byte becomes an 8-digit group, space-separated
0 1Only zeros and ones — any other character is rejected on decode
multiple of 8Decode groups bits into bytes, so the total must divide by 8

Examples — click to load

HiText → binary
01001000 01101001Decode → "Hi"

ROT13

A↔N · a↔nRotates each letter 13 places — letters only, digits/punctuation untouched
self-inverseApplying ROT13 twice returns the original — encode and decode are identical
not encryptionA classic obfuscation, not security — trivially reversible

Examples — click to load

Hello, World!Letters rotate, punctuation stays
Uryyb, Jbeyq!Decode → "Hello, World!"
Saved tool data