Embedding a small icon in CSS
Before
icon.png, 3 KB file
After
Base64 data URI, inline in CSS
Eliminated one HTTP request per icon. For small icons, this is a real performance win.
I use Base64 mostly for debugging JWT tokens and embedding small images into CSS. This tool does both directions with one click, and it handles Unicode and emoji correctly — which a lot of online tools get wrong.
Plain text
Base64
Your files are processed in your browser and never uploaded to any server.
One thing worth knowing: Base64 is not encryption. I've seen people encode passwords with it thinking it adds security — it doesn't. Anyone can decode it in one step. Use it for encoding data, not protecting it. For emoji and non-English text, this tool handles UTF-8 correctly, which most simple encoders don't.
— Mirza Noman Baig
These are actual measurements from using this tool, not estimates.
Before
icon.png, 3 KB file
After
Base64 data URI, inline in CSS
Eliminated one HTTP request per icon. For small icons, this is a real performance win.
Before
JWT header, unreadable
After
Decoded Base64, readable JSON
Confirmed the algorithm was RS256 as expected. This is my first step whenever a token acts weird.
Before
Arabic text with diacritics
After
Base64 encoded, decoded back without any character loss
Many online tools mangle non-ASCII characters. This one handles UTF-8 correctly.
Both directions work with one click — no need for two separate tools.
Emojis, non-English scripts, and special characters are handled correctly.
Output updates as you type. No button to press.
Data never leaves your browser. Safe for tokens and API keys.
No. Base64 is encoding, not encryption. Anyone can decode it back to the original data. Never use it to protect passwords or secrets.
Yes. Full UTF-8 support. Emojis, Arabic, Chinese — all handled correctly.
No. Everything runs in your browser. Your data stays on your device.
Yes, for small images. Large images produce huge Base64 strings that slow down your code.
Switches the direction — Encode becomes Decode and vice versa, using the current output as the new input.