Choose Encode or Decode
Use Encode for text or a local file. Use Decode for a standard Base64 string, Base64URL value or complete Base64 Data URI.
Encode UTF-8 text or any file to Base64, decode standard Base64 or Base64URL back to readable text or downloadable bytes, and create Data URIs directly in your browser.
Text is encoded as UTF-8 before Base64 conversion, so emoji and non-Latin scripts remain byte-correct.
Use Copy Base64 or download the generated text after checking the result.
Your Base64 task is complete. Continue with another related CorrectionCopy tool.
The workflow changes automatically between encoding and decoding, while text conversion remains live as you type or paste.
Use Encode for text or a local file. Use Decode for a standard Base64 string, Base64URL value or complete Base64 Data URI.
Paste Unicode text, drag in a file, or paste encoded data. URL-safe output and Data URI wrapping are available when encoding.
Copy Base64 or decoded text, download Base64 as TXT, or download decoded binary bytes as the detected file type when possible.
This Base64 converter works with UTF-8 text and arbitrary file bytes. It covers common text-to-Base64, file-to-Base64, image-to-Base64 and Base64-to-text workflows without sending the selected content to a conversion server.
Text is converted to UTF-8 bytes first, so emoji, Bengali, Arabic, Chinese, accented Latin text and other Unicode characters are encoded correctly rather than being passed directly to legacy Latin-1-only APIs.
Encode JPG, PNG, PDF, DOCX, ZIP, JSON, audio, video or other file bytes. File processing uses chunks to reduce temporary memory overhead compared with creating one huge Data URL first.
Decoded binary data can be downloaded again. Common PNG, JPEG, GIF, WebP, PDF, ZIP and GZIP signatures are recognized so the downloaded extension is more useful when the input itself does not include a MIME type.
Base64 has several closely related representations. Using the correct variant matters when encoded data is placed in URLs, JWT segments, HTML, CSS or API payloads.
| Task | What this tool does | Common search / use case |
|---|---|---|
| Standard Base64 | Uses A–Z, a–z, 0–9, + and / with normal = padding when required. | Base64 encoder, text to Base64, file to Base64, API payloads |
| Base64URL | Uses - and _ instead of + and / and omits trailing padding in encoded output. | URL-safe Base64, JWT Base64 decode, OAuth and URL parameters |
| Data URI | Wraps file Base64 with a data:MIME-type;base64, prefix using standard Base64. | Image to Base64 Data URI, HTML image Base64, CSS background Data URL |
| Decoded text | Interprets decoded bytes as strict UTF-8 when they form valid text. | Base64 to text, Base64 decoder online, decode Unicode Base64 |
| Decoded binary | Keeps the original bytes and enables a direct file download instead of pretending binary data is text. | Base64 to image, Base64 to PDF, Base64 to file |
Modern browsers can encode and decode byte arrays directly. The tool uses the native byte-to-Base64 path when available and falls back to a compatible chunked implementation on older browsers. This avoids requiring a third-party Base64 library and keeps the processing path small.
Legacy btoa() accepts a binary string rather than arbitrary Unicode text. Encoding through TextEncoder first produces the correct UTF-8 bytes before Base64 is generated.
A decoded byte sequence is only shown as readable text when it is valid UTF-8 or its Data URI MIME type explicitly represents text. Otherwise the bytes remain downloadable binary data.
The page does not impose a fixed upload-size cap. Practical capacity depends on available browser memory because a Base64 result is itself larger than the original binary input.
Base64 is widely used when binary bytes need to travel through text-oriented formats, but it should be chosen for compatibility rather than secrecy.
Encode binary attachments when an API field accepts textual Base64 instead of multipart binary data. Check the receiving API's exact alphabet and padding requirements.
Small images or other assets can be represented as a data: URL. Large inline assets can increase document size and hurt caching, so Data URIs are best used selectively.
JWT header and payload segments use Base64URL. Decoding a segment lets you inspect its text, but it does not verify the token signature, authenticity or authorization.
Basic Authentication encodes the username:password bytes as Base64. HTTPS is still essential because Base64 alone provides no confidentiality.
Base64 is commonly used to transport binary attachments through systems that historically expect text-safe content. MIME-formatted Base64 may contain line breaks.
Developers often decode Base64 strings from logs, environment values, API responses or test fixtures. Review decoded content before treating it as trusted input.
The page-specific converter performs encoding and decoding in your browser. It does not upload the entered text or selected file to CorrectionCopy for Base64 processing, and it adds no Base64-specific tracker or database.
Every 3 bytes become 4 Base64 characters before optional padding, so Base64 normally adds about one-third to the raw binary size. Data URI prefixes add a small amount more.
Chunked file reading lowers temporary peaks, but the complete Base64 string still has to exist if it is displayed or copied. Very large conversions can therefore be limited by the device's available memory.
Do not execute decoded scripts, open unknown files blindly, or assume decoded data is trustworthy. Base64 can carry any bytes, including malicious or misleading content.
Check for non-alphabet characters, misplaced = padding, a one-character final quantum, or a mixed standard/Base64URL alphabet. Enable whitespace handling for wrapped MIME-style Base64.
This usually means the Base64 represents a file rather than UTF-8 text. Use Download Decoded File instead of forcing those bytes into a text editor.
Base64 expands the data and the browser must build a large output string. Close memory-heavy tabs or use a device with more free memory for very large files.
Continue with active text, data, file, image and developer tools from the current CorrectionCopy catalog.
A Base64 encoder converts bytes into a restricted ASCII representation using the Base64 alphabet. Text is first represented as bytes, while files are encoded from their original binary bytes.
Choose Encode, type or paste the text into the input box, then copy or download the generated Base64. This tool encodes text as UTF-8 before Base64 conversion.
Choose Decode and paste the Base64 string. If the decoded bytes form valid UTF-8 text, the readable text appears in the result area and can be copied or downloaded.
Yes. UTF-8 text can include emoji, accented characters, Bengali, Arabic, Chinese, Japanese and other Unicode scripts. Correct decoding still requires the original bytes to represent UTF-8 text.
Yes. In Encode mode, choose or drop any local file. The page reads its bytes in chunks and generates a Base64 string. Data URI wrapping can also be enabled for a selected file.
Yes. If Base64 represents binary data, the tool keeps the decoded bytes and enables Download Decoded File. Common image, PDF, ZIP and GZIP signatures are detected when possible.
Base64URL is the URL- and filename-safe alphabet defined alongside Base64. It replaces + and / with - and _, and many Base64URL uses omit = padding. It is commonly used in JWTs and URL-oriented protocols.
It can decode an individual Base64URL-encoded JWT header or payload segment to readable text. It does not validate the JWT signature or prove that the token is authentic.
A Data URI places encoded bytes directly after a data: MIME-type;base64, prefix. It is commonly used for small inline images or assets in HTML and CSS. The decoder can also recognize a Base64 Data URI and use its MIME type when downloading bytes.
No. Base64 is reversible encoding and provides no confidentiality. Do not use Base64 alone to protect passwords, credentials, API keys or sensitive files.
Base64 represents each 3 input bytes with 4 encoded characters, so the encoded data is normally about 33% larger before small additions such as padding or a Data URI prefix.
The tool does not impose an artificial local file-size limit. Very large files can still exceed available browser memory because the full Base64 output is larger than the original file and must exist for display, copy or download.
No page-specific conversion upload is used. The Base64 transformation is performed by browser JavaScript on the device. Clearing or leaving the page removes the tool's in-memory state.
Typical causes are unsupported characters, mixed Base64 and Base64URL alphabets, misplaced padding, or an impossible final length. If the encoded value is wrapped across lines, leave Ignore whitespace enabled in Decode mode.