This is a Base64 online decoder. Use this tool to convert a Base64-encoded string back to the human-readable text.
Base64-Decode.Online is a free web application for converting the Base64-encoded data into a human-readable format. In accordance with UNIX philosophy, this online tool is designed to do one thing only and do it well - decode from Base64 format.
Currently, this tool can be used to decode from Base64 to a text only, but in the nearest future it could be used to conver the Base64-encoded data into the binary files (images, PDF documents, etc.) as well.
How it works
Basically, the Base64 decoding is the process of decoding the Base64-encoded string of "printable" ASCII characters back into a binary file (image, PDF document, etc.) or into a human-readable text format. To decode the Base64-encoded string, firstly it should be converted into the binary format.
The decoder converts the Base64-encoded string into the binary using the Python's base64_string.encode()
method. Then it decodes this binary data from the Base64 format using the base64.standard_b64decode()
. Finally it converts the decoded binary data back to the textual format using the string_bytes.decode()
method and displays the result in the text area above.
Advanced options
string_bytes.decode()
method. By default, Base64-Decode.Online uses the UTF-8 character set. If the original textual data was encoded to Base64 using another character set, you can change it using this option. The data encoded to Base64 doesn't contain information about the character set, so if the decoded text is not readable, you may try to select another character set.
Guaranteed security
All communications with Base64-Decode.Online are secured with SSL protocol (HTTPS). Both your browser and our servers encrypt all traffic before sending any data. We do not store or inspect the contents of the entered data or uploaded files in any way.
Completely free
You don’t have to pay anything. All the features of this web application are accessible free of charge.
The Base64 encoding is the process of encoding the binary data into a "readable" string. It allows to encode arbitrary bytes to bytes which are known to be safe to send without getting corrupted. Thanks to it, you can convert Chinese characters, emoji and even images and PDF documents into a "readable" string, which can be saved or transferred anywhere. It is commonly used when there is a need to store or transmit the binary data over systems that are designed to deal with ASCII, e.g. email via MIME. The Base64 alphabet consists of the ASCII alphanumeric character set and a couple of symbols.
The Base64 decoding is the process of decoding the Base64-encoded string of the ASCII characters back to the original binary or the textual format.
The Base64 decoding process
The Base64 encoding scheme is described in RFC 3548. The Base64 encoding takes the original binary data and devides it into chunks of 3 bytes. A byte consists of 8 bits, so Base64 takes 24 bits in total. These 3 bytes are then converted into 4 "printable" ASCII characters from the table above.
The disadvantage is that the message encodeed using the Base64 algorithm increases its length - every 3 bytes of data are encoded to 4 ASCII characters (a ~33% increase).
Example
The Base64-encoded value of "Harry Potter" is SGFycnkgUG90dGVy.
Base64 encoded | Character | S | G | F | y | c | n | k | g | U | G | 9 | 0 | d | G | V | y | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Index | 18 | 6 | 5 | 50 | 28 | 39 | 36 | 32 | 20 | 6 | 61 | 50 | 29 | 6 | 21 | 50 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bits | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | |
Original | Octets | 72 | 97 | 114 | 114 | 121 | 32 | 80 | 111 | 116 | 116 | 101 | 114 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Text (ASCII) | H | a | r | r | y | <space> | P | o | t | t | e | r |
Using the Base64 encoding table, the ASCII characters S
, G
, F
, y
, c
, n
, k
, g
, U
, G
, 9
, 0
, d
, G
, V
, y
can be converted into the numbers: 18
, 6
, 5
, 50
, 28
, 39
, 36
, 32
, 20
, 6
, 61
, 50
, 29
, 6
, 21
50
.
These numbers can be represented in 6-bit binary format as follows:
010010 000110 000101 110010 011100 100111 100100 100000 010100 000110 111101 110100 011101 000110 010101 110010
Joined together, they constitute a binary stream of:
010010000110000101110010011100100111100100100000010100000110111101110100011101000110010101110010
.
The Base64 decoding starts from chunking this binary stream into groupings of eight characters:
01001000 01100001 01110010 01110010 01111001 00100000 01010000 01101111 01110100 01110100 01100101 01110010
Each of these groupings translates into the numbers: 72
, 97
, 114
, 114
, 121
, 32
, 80
, 111
, 116
, 116
, 101
, 114
.
Finally, these decimal values can be converted back into the original characters using to the ASCII character table: H
, a
, r
, r
, y
, <space>
, P
, o
, t
, t
, e
, r
.