encoding
Base64 Encoder / Decoder
Encode text or data to Base64, or decode Base64 back to plain text.
Base64 Encoder / Decoder
Encode text or data to Base64, or decode Base64 back to plain text.
What is this?
Base64 is an encoding scheme that converts binary data — or any text — into a string of 64 ASCII characters (A–Z, a–z, 0–9, +, /). It is used wherever binary data must travel through a medium that only handles text: embedding images in HTML or CSS, encoding credentials in HTTP Authorization headers, storing binary payloads in JSON, and passing data through URLs. Base64 does not encrypt data; it only changes the representation. The URL-safe variant replaces + with - and / with _ so the result is safe to embed in URLs and filenames without percent-encoding.
How to use
- Paste your input: For encoding: paste the plain text you want to convert. For decoding: paste the Base64 string (with or without padding =).
- Select a mode: Choose 'encode' to convert plain text → Base64, or 'decode' to convert Base64 → plain text.
- Choose a charset: Use 'standard' for general purposes. Use 'url-safe' if the result will appear in a URL, filename, or JWT — it replaces + with - and / with _.
- Copy the result: Click the Copy button. The output field also shows the byte length of the source data.
FAQ
- Does Base64 encoding encrypt my data?
- No. Base64 is an encoding scheme, not encryption. Anyone who receives a Base64 string can decode it instantly without a key. Do not use Base64 to hide sensitive data.
- What is the difference between standard and URL-safe Base64?
- Standard Base64 uses + and / as its 62nd and 63rd characters. These have special meaning in URLs, so URL-safe Base64 replaces them with - and _ respectively. The output is otherwise identical and interchangeable if you handle the substitution correctly.
- Why does Base64 output end with = or ==?
- Base64 encodes every 3 bytes into 4 characters. If the input is not a multiple of 3 bytes, = padding is added to make the output length a multiple of 4. One = means 1 padding byte was added; == means 2.
- Can I decode a Base64 image (data URI)?
- Yes — paste the part after 'data:image/png;base64,' and decode it. The output will be binary data rendered as UTF-8, which may look garbled for non-text content. For images, use the Image Converter tool instead.
- Is there a size limit?
- The API endpoint accepts up to 1 MB of input. For larger files, use Node.js: Buffer.from(str, 'utf-8').toString('base64') for encoding, or Buffer.from(b64, 'base64').toString('utf-8') for decoding.
What is Base64 Encoder / Decoder?
Base64 is an encoding scheme that converts binary data — or any text — into a string of 64 ASCII characters (A–Z, a–z, 0–9, +, /). It is used wherever binary data must travel through a medium that only handles text: embedding images in HTML or CSS, encoding credentials in HTTP Authorization headers, storing binary payloads in JSON, and passing data through URLs. Base64 does not encrypt data; it only changes the representation. The URL-safe variant replaces + with - and / with _ so the result is safe to embed in URLs and filenames without percent-encoding.
How to use Base64 Encoder / Decoder
- Paste your input: For encoding: paste the plain text you want to convert. For decoding: paste the Base64 string (with or without padding =).
- Select a mode: Choose 'encode' to convert plain text → Base64, or 'decode' to convert Base64 → plain text.
- Choose a charset: Use 'standard' for general purposes. Use 'url-safe' if the result will appear in a URL, filename, or JWT — it replaces + with - and / with _.
- Copy the result: Click the Copy button. The output field also shows the byte length of the source data.
Frequently asked questions
- Does Base64 encoding encrypt my data?
- No. Base64 is an encoding scheme, not encryption. Anyone who receives a Base64 string can decode it instantly without a key. Do not use Base64 to hide sensitive data.
- What is the difference between standard and URL-safe Base64?
- Standard Base64 uses + and / as its 62nd and 63rd characters. These have special meaning in URLs, so URL-safe Base64 replaces them with - and _ respectively. The output is otherwise identical and interchangeable if you handle the substitution correctly.
- Why does Base64 output end with = or ==?
- Base64 encodes every 3 bytes into 4 characters. If the input is not a multiple of 3 bytes, = padding is added to make the output length a multiple of 4. One = means 1 padding byte was added; == means 2.
- Can I decode a Base64 image (data URI)?
- Yes — paste the part after 'data:image/png;base64,' and decode it. The output will be binary data rendered as UTF-8, which may look garbled for non-text content. For images, use the Image Converter tool instead.
- Is there a size limit?
- The API endpoint accepts up to 1 MB of input. For larger files, use Node.js: Buffer.from(str, 'utf-8').toString('base64') for encoding, or Buffer.from(b64, 'base64').toString('utf-8') for decoding.