Base64 Encode & Decode

Our Base64 Encode & Decode tool is perfect for anyone who has to deal with Base64 format. Use our online tool to easily encode or decode your data.


About

Base64 Hash Generator/Base64 Hash Encoder/Base64 Hash Decoder/Base64 Hash Converter. Base64 hash is a group of similar encoding/encrypting schemes that represent binary data in an ASCII string format by translating it into a radix-64 representation. The Base64 hash term originates from a specific MIME content transfer encoding. Base64 encoding schemes are commonly used when there is a need to encode binary data that needs be stored and transferred over media that are designed to deal with textual data. This is to ensure that the data remains intact without modification during transport. Base64 is used commonly in a number of applications including email via MIME, and storing complex data in XML.

Advanced options

  • Character set: Our website uses the UTF-8 character set, so your input data is transmitted in that format. Change this option if you want to convert the data to another character set before encoding. Note that in case of text data, the encoding scheme does not contain the character set, so you may have to specify the appropriate set during the decoding process. As for files, the binary option is the default, which will omit any conversion; this option is required for everything except plain text documents.
  • Newline separator: Unix and Windows systems use different line break characters, so prior to encoding either variant will be replaced within your data by the selected option. For the files section, this is partially irrelevant since files already contain the corresponding separators, but you can define which one to use for the “encode each line separately” and “split lines into chunks” functions.
  • Encode each line separately: Even newline characters are converted to their Base64 encoded forms. Use this option if you want to encode multiple independent data entries separated with line breaks. (*)
  • Split lines into chunks: The encoded data will become a continuous text without any whitespaces, so check this option if you want to break it up into multiple lines. The applied character limit is defined in the MIME (RFC 2045) specification, which states that the encoded lines must be no more than 76 characters long. (*)
  • Perform URL-safe encoding: Using standard Base64 in URLs requires encoding of “+”, “/” and “=” characters into their percent-encoded form, which makes the string unnecessarily longer. Enable this option to encode into an URL- and filename- friendly Base64 variant (RFC 4648 / Base64URL) where the “+” and “/” characters are respectively replaced by “-” and “_”, as well as the padding “=” signs are omitted.
  • Live mode: When you turn on this option the entered data is encoded immediately with your browser’s built-in JavaScript functions, without sending any information to our servers. Currently this mode supports only the UTF-8 character set.

(*) These options cannot be enabled simultaneously since the resulting output would not be valid for the majority of applications.

Safe and secure

All communications with our servers come through secure SSL encrypted connections (https). We delete uploaded files from our servers immediately after being processed and the resulting downloadable file is deleted right after the first download attempt or 15 minutes of inactivity (whichever is shorter). We do not keep or inspect the contents of the submitted data or uploaded files in any way. Read our privacy policy below for more details.

Completely free

Our tool is free to use. From now on, you don’t need to download any software for such simple tasks.

Details of the Base64 encoding

Base64 is a generic term for a number of similar encoding schemes that encode binary data by treating it numerically and translating it into a base-64 representation. The Base64 term originates from a specific MIME-content transfer encoding.

Design

The particular choice of characters to make up the 64 characters required for Base64 varies between implementations. The general rule is to choose a set of 64 characters that is both 1) part of a subset common to most encodings, and 2) also printable. This combination leaves the data unlikely to be modified in transit through systems such as email, which were traditionally not 8-bit clean. For example, MIME’s Base64 implementation uses A-Z, a-z, and 0-9 for the first 62 values, as well as “+” and “/” for the last two. Other variations, usually derived from Base64, share this property but differ in the symbols chosen for the last two values; an example is the URL and filename safe “RFC 4648 / Base64URL” variant, which uses “-” and “_”.

Example

Here’s a quote snippet from Thomas Hobbes’s Leviathan:

Man is distinguished, not only by his reason, but …

This is represented as an ASCII byte sequence and encoded in MIME’s Base64 scheme as follows:

TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCAuLi4=

In the above quote the encoded value of Man is TWFu. Encoded in ASCII, the letters “M”, “a”, and “n” are stored as the bytes 77, 97, 110, which are equivalent to “01001101”, “01100001”, and “01101110” in base-2. These three bytes are joined together in a 24 bit buffer producing the binary sequence “010011010110000101101110”. Packs of 6 bits (6 bits have a maximum of 64 different binary values) are converted into 4 numbers (24 = 4 * 6 bits) which are then converted to their corresponding values in Base64.

Text content M a n
ASCII 77 97 110
Bit pattern 0 1 0 0 1 1 0 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 1 0
Index 19 22 5 46
Base64-encoded T W F u

As this example illustrates, Base64 encoding converts 3 uncoded bytes (in this case, ASCII characters) into 4 encoded ASCII characters.