base64 encoding

Base64 encoding can be used for any data. The output always % 3 = 0 (the last \n is counted).

Command in Linux

base64 <filename> is a command to encode an image into base64 string

Below is my avatar in base64 encoding.

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

Render with Chrome

Chrome can decode base64 just fine. Just tell Chrome what type of data it is and the data is encoded with base64. The format would look like data:image/jpg;base64,<BASE64STRING>.

Try to put the string below in Chrome's address bar.

data:image/jpg;base64,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

Post image with Base64

An image can be uploaded via HTTP POST if the user agent support base64 encoding in the post body.