Base64 Encoder / Decoder
Encode and decode Base64 instantly — text or images. Full UTF-8 support (Korean, emoji, CJK), a URL-safe option, and everything stays in your browser.
Type in either box — the other updates instantly, and encoding is UTF-8 safe.
Image → Base64
Base64 → Image
Everything runs locally with FileReader — your image is never uploaded.
자주 묻는 질문
What is Base64 and when do I use it?
Base64 turns any binary data into plain ASCII text so it can travel safely through channels built for text — data URIs that embed images in HTML or CSS, JSON and JWT tokens, and email attachments. Use base64 encode to pack data into a string, and base64 decode to get the original bytes back.
Why does Korean, emoji and CJK text encode correctly here?
Many quick scripts call btoa() directly, which only handles Latin-1 and mangles anything else. This base64 encoder decoder first converts your text to UTF-8 bytes with TextEncoder, so Korean, Japanese, Chinese and emoji round-trip perfectly, and decoding uses TextDecoder to rebuild the exact original text.
What is URL-safe Base64 (Base64URL) and when do I need it?
Standard Base64 uses + and / plus = padding, which get escaped inside URLs, query strings and JWTs. URL-safe Base64 (RFC 4648 §5) replaces + with -, / with _, and drops the padding. Tick the URL-safe option to produce it; decoding accepts both variants automatically.
How do I convert an image to a Base64 data URI and back?
On the Image tab, drop or choose a file to get its full data URI plus the raw Base64 — ready to paste into an <img>, a CSS background or JSON. To go the other way, paste a Base64 string or data URI to preview the picture, then download it. It works as an image to base64 data uri converter both ways.
Is my text or image uploaded to a server?
No. Everything runs 100% in your browser — text uses btoa/atob with TextEncoder, and images are read locally with FileReader, so nothing is uploaded. Only your last text and the URL-safe option are saved to this browser's local storage for convenience; image data is never stored.