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.
| Input | UTF-8 bytes | MD5 hex | Base64 of digest bytes | Vector check |
|---|---|---|---|---|
| [empty string] | 0 | d41d8cd98f00b204e9800998ecf8427e | 1B2M2Y8AsgTpgAmY7PhCfg== | Matched |
| a | 1 | 0cc175b9c0f1b6a831c399e269772661 | DMF1ucDxtqgxw5niaXcmYQ== | Matched |
| abc | 3 | 900150983cd24fb0d6963f7d28e17f72 | kAFQmDzST7DWlj99KOF/cg== | Matched |
| message digest | 14 | f96b697d7cb7938d525a2f31aaf161d0 | +WtpfXy3k41SWi8xqvFh0A== | Matched |
| abcdefghijklmnopqrstuvwxyz | 26 | c3fcd3d76192e4007dfb496cca67e13b | w/zT12GS5AB9+0lsymfhOw== | Matched |
| ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 | 62 | d174ab98d277d9f5a5611c2c9f419d9f | 0XSrmNJ32fWlYRwsn0Gdnw== | Matched |
| 12345678901234567890123456789012345678901234567890123456789012345678901234567890 | 80 | 57edf4a22be3c955ac49da2e2107b67a | V+30oivjyVWsSdouIQe2eg== | Matched |
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.