Base64 Encoder & Decoder
Everything runs in your browser. Your data never leaves your device.
What this tool does
This Base64 encoder and decoder converts text to Base64 and Base64 back to text, instantly and in your browser. Paste your text, choose Encode or Decode, and copy the result. It handles Arabic, accented characters and emoji by using UTF-8, and it can produce or read the URL-safe variant.
How to use it
- Paste your text or Base64 string into the first box.
- Choose the direction: encode (text to Base64) or decode (Base64 to text).
- Tick URL-safe Base64 if you need the variant for links and file names.
- Copy the result. If the input is not valid, a message explains the problem.
How Base64 works
Base64 takes the bytes of your data three at a time (24 bits) and splits them into four groups of 6 bits. Each group is written using one of 64 characters: A–Z, a–z, 0–9, + and /. If the data does not divide evenly, one or two = signs are added as padding.
Example: “Hello” becomes SGVsbG8=, and the Arabic word “مرحبا” becomes 2YXYsdit2KjYpw==.
Good to know
Base64 makes data about one third larger. Decoding accepts line breaks, missing padding and the URL-safe alphabet. If decoding works but the result is not text, the data was probably an image, file or other binary content, and the tool will tell you. Remember that Base64 is not security: do not paste secrets you would not share. Your text is processed locally and never uploaded.
Frequently asked questions
What is Base64 used for?
Base64 turns any data into plain letters, digits and a few symbols so it can travel safely through systems built for text, such as email, JSON, HTML, URLs and configuration files.
Is Base64 a form of encryption?
No. Base64 is only an encoding. Anyone can decode it instantly, so never use it to hide passwords or secrets.
Does it work with Arabic and emoji?
Yes. Text is first converted to UTF-8 bytes and then to Base64, so Arabic letters, accents and emoji encode and decode correctly.
What is URL-safe Base64?
A variant that uses - and _ instead of + and / and usually drops the = padding, so the result can be placed in a URL or file name without further escaping.