IMAGE BASE64 TOOLBase64 decoder

MD5 Hash Generator

MD5 Hash Generator computes MD5 only: UTF-8 text in, a hexadecimal or Base64 digest out, entirely in your browser.

Ready. MD5 only; input stays in your browser.

Public test vectors, independently computed

We computed all seven public MD5 test vectors using Python hashlib and this page’s independently authored JavaScript implementation. Both matched each expected hexadecimal digest from RFC 1321. This table was generated from the calculations.

InputUTF-8 bytesMD5 hexBase64 of digest bytesVector check
[empty string]0d41d8cd98f00b204e9800998ecf8427e1B2M2Y8AsgTpgAmY7PhCfg==Matched
a10cc175b9c0f1b6a831c399e269772661DMF1ucDxtqgxw5niaXcmYQ==Matched
abc3900150983cd24fb0d6963f7d28e17f72kAFQmDzST7DWlj99KOF/cg==Matched
message digest14f96b697d7cb7938d525a2f31aaf161d0+WtpfXy3k41SWi8xqvFh0A==Matched
abcdefghijklmnopqrstuvwxyz26c3fcd3d76192e4007dfb496cca67e13bw/zT12GS5AB9+0lsymfhOw==Matched
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012345678962d174ab98d277d9f5a5611c2c9f419d9f0XSrmNJ32fWlYRwsn0Gdnw==Matched
123456789012345678901234567890123456789012345678901234567890123456789012345678908057edf4a22be3c955ac49da2e2107b67aV+30oivjyVWsSdouIQe2eg==Matched
Input bytes and MD5 outputs for table row 1
Input byte count, hexadecimal digest and Base64 digest for table row 1.
Input bytes and MD5 outputs for table row 3
Input byte count, hexadecimal digest and Base64 digest for table row 3.
Input bytes and MD5 outputs for table row 4
Input byte count, hexadecimal digest and Base64 digest for table row 4.
Input bytes and MD5 outputs for table row 7
Input byte count, hexadecimal digest and Base64 digest for table row 7.

These seven inputs and expected hexadecimal digests are the public test suite in RFC 1321 Appendix A.5. Both implementations computed every digest and matched the published value. Byte counts are measured UTF-8 lengths; Base64 is calculated from the same 16 raw digest bytes. Use the abc or empty button to reproduce those rows; paste other inputs exactly without an extra newline. The last input is the digits 1234567890 repeated eight times.

Input, output and limits

This md5 hash generator accepts one text input per run. Text is encoded as UTF-8 exactly as supplied: spaces, line endings, case and combining characters can change the digest. No trimming or normalization is applied. Empty input is valid. There is no file upload or batch mode.

The input limit is 1 MiB of UTF-8 bytes. MD5 produces 16 digest bytes, represented as 32 lowercase hex characters or 24 Base64 characters including padding. The limit is checked before hashing. The tool uses a local JavaScript MD5 implementation and does not upload input or save history.

Does this hash generator require an account?

No. This md5 generator and md5 calculator run without login or registration. One input is processed at a time; there is no daily conversion counter.

Is Base64 output a different algorithm?

No. Both formats represent the same MD5 digest bytes. Base64 output is not Base64 text encoding of the hex string.

MD5 security limits and SHA-256

MD5 has known collisions: different inputs can share a digest. Do not use MD5 for security purposes, signatures, or password storage. Matching MD5 values do not prove authenticity. RFC 6151 documents its collision-security limitations. MD5 yields 128 bits; SHA-256 yields 256 bits and is a different algorithm. Use the SHA-256 text hash generator for SHA-256 output. A plain SHA-256 digest is not a password-storage scheme either.

Can I decode a digest back to text?

No. A digest is not an encoded copy of the input. This page provides hashing, not a decoder, encryption tool or password-storage system. A matching digest does not by itself establish who supplied the input.

Why did a copied sentence produce another digest?

Check spaces, line endings and the exact characters. This tool hashes their UTF-8 byte representation without normalization. The public vectors above require the exact input stated.

Related byte representation walkthrough

This existing video demonstrates hexadecimal byte input and Base64 output. It explains representations, not MD5 hashing or the test vectors above.

Loading the player connects to YouTube and shares connection information such as your IP address and playback requests.

Watch the existing encoding walkthrough on YouTube