✏ TYPE YOUR TEXT HERE INPUT
💥 Please enter some text!
📚 TRY AN EXAMPLE — CLICK TO LOAD! EXAMPLES
Simple Text
"Hello World"
↓ SGVsbG8gV29ybGQ=
JSON Object
{"name":"Ali","tool":"DevDunia"}
↓ eyJuYW1lIjoiQWxp...
URL
https://devdunia.com
↓ aHR0cHM6Ly9kZXZk...
Secret Data
"SecretMessage123"
↓ U2VjcmV0TWVzc2FnZTEyMw==
🧠 HOW BASE64 ENCODING WORKS EXPLAINER
1

Every character in your text becomes its ASCII number (e.g. 'H' → 72, 'i' → 105).

2

Those bytes are grouped into 3-byte chunks (24 bits) then split into four 6-bit groups.

3

Each 6-bit value maps to one of 64 characters: A-Z, a-z, 0-9, +, /. That's where the name comes from!

4

= padding is added to make the output length a multiple of 4. This encoder adds it automatically.

5

The result is safe ASCII text — great for embedding data in JSON, HTML, URLs, or email headers. ~33% size increase is the trade-off.

🔬 BASE64 WORKING EXAMPLE — "echobash" STEP BY STEP

Watch echobash become ZWNob2Jhc2g= — every bit shown.

1️⃣ STEP 1 — Characters → ASCII → 8-bit Binary
CharASCII8-bit Binary
e10101100101
c9901100011
h10401101000
o11101101111
b9801100010
a9701100001
s11501110011
h10401101000
2️⃣ STEP 2 — Group 3 bytes (24 bits) → 4 × 6-bit groups → 4 B64 chars
Color key: 6-bit A 6-bit B 6-bit C 6-bit D ← each maps to one B64 char
CHUNK 1 of 3 — "ech" → 24 bits
e 101 01100101
c 99 01100011
h 104 01101000
↓ reassemble into four 6-bit groups, look up Base64 alphabet ↓
011001
= 25
Z
010110
= 22
W
001101
= 13
N
101000
= 40
o
"ech" → ZWNo
CHUNK 2 of 3 — "oba" → 24 bits
o 111 01101111
b 98 01100010
a 97 01100001
↓ reassemble into four 6-bit groups, look up Base64 alphabet ↓
011011
= 27
b
110110
= 54
2
001001
= 9
J
100001
= 33
h
"oba" → b2Jh
CHUNK 3 of 3 — "sh" (only 2 bytes — padding needed!)
s 115 01110011
h 104 01101000
MISSING 00 ← 2 padding zero bits to fill 6-bit group C
↓ 16 real bits + 2 pad zeros = 18 bits → 3 B64 chars + "=" padding ↓
011100
= 28
c
110110
= 54
2
100000
= 32 (+2 zeros)
g
······
padding
=
"sh" → c2g=
🏆 FINAL RESULT
"echobash" →
ZWNob2Jhc2g=
8 bytes  ·  3 chunks (2 full + 1 padded)  ·  12 output chars  ·  +33% size overhead