Google Analytics helps us understand which tools you use and which actions work. Your files and entered text stay out of analytics.

Free · no sign-upNo file uploadsSix algorithms together

Hash generator

Generate MD5, SHA-256 and four more hashes from text or files. Compare a checksum, make an HMAC or copy an SRI value. Your input stays in this tab.

See every digest without choosing an algorithmHash up to 100 files with progress and cancellationCheck a reference without uploading your download

Add text or files, calculate, then copy or check a hash.

Signed in, your settings save automatically. Text, files, checksums and secret keys stay in this tab. Account saving

In your browser

Your input

UTF-8 text
0 bytesNothing is trimmed

Hashes update as you type. UTF-8 includes accents and emoji.

HMAC with a secret key

For a keyed message authentication code. Uses SHA-1 and SHA-2. MD5 and CRC32 are excluded.

Checks against every available hash. No algorithm selection needed.

Your hashes

Six algorithms
Ready when you are. Start with text or try abc.

MD5

Legacy

128-bit digest will appear here

SHA-1

Legacy

160-bit digest will appear here

SHA-384

384-bit digest will appear here

SHA-512

512-bit digest will appear here

CRC32

Checksum

32-bit checksum will appear here

Exports contain hashes and file names, never your text or secret key.

Use SHA-256 for a new checksum. MD5 and SHA-1 are legacy hashes. CRC32 detects accidental changes.

How to generate a hash

  1. Enter text or choose files

    Paste text, or switch to Files and drop your downloads. Spaces and line breaks count. Files keep their original bytes.

  2. Read the hashes

    All six algorithms appear together. SHA-256 is the default recommendation. Choose another output format or enable HMAC if needed.

  3. Copy or verify the result

    Copy a digest, export the batch or paste an Expected checksum. A matching result is highlighted with a clear message.

Using the hash generator

Start with text for a string checksum, or choose Files for a download. All six digests come from the same input.

Text and input encoding

Text to hash uses UTF-8 by default. The byte count tells you how much data the tool will hash.

ControlWhat it does
Text / FilesSwitches the source. Typed text and selected files remain in tab memory while you switch.
Text to hashRecalculates after you pause typing. It does not trim spaces or normalise Unicode.
Try abcLoads three UTF-8 bytes. Useful for checking a known test vector.
Hash empty inputCalculates the zero-byte digests. An empty input still has a valid hash.
Clear inputRemoves your text and results. It returns to the waiting state.
Input encodingUTF-8 text hashes the characters. Hex bytes and Base64 bytes decode the input first. Invalid encodings show an error.

For the same three bytes, enter abc as UTF-8, 61 62 63 as Hex bytes or YWJj as Base64 bytes. They produce identical digests.

Files and batch results

File mode hashes the exact file bytes, including line endings and byte order marks. A filename does not affect the digest.

ControlWhat it does
Choose files / Add filesSelects any file type. You can also drop files into the file area. The batch accepts up to 100 files.
Remove [filename]Removes that file and recalculates the remaining selection.
Clear filesReleases the selected files and clears their results.
CancelStops the worker. Completed files remain available to copy or export.
Retry filesRecalculates the selected batch after a cancellation or error.
File result summaryOpens that file’s six digests. The first file opens by default. A checksum match opens its file automatically.

The worker reads each file in 2 MiB chunks. There is no fixed per-file size cap, but runtime depends on your device. A very large batch can still take time.

Output format, copy and export

Output format changes how a digest is written. It does not change the input or recalculate the hash.

ControlWhat you get
Hex (lowercase) / Hex (uppercase)The same bytes written with lowercase or uppercase hexadecimal letters.
Base64The digest bytes encoded as standard Base64, including padding where needed.
SRI (SHA-2 only)A SHA-256, SHA-384 or SHA-512 digest with its algorithm prefix. Other rows show explicitly labelled hex. HMAC cannot produce SRI.
CopyCopies that algorithm’s displayed digest.
Copy allCopies the completed digests with algorithm labels and filenames where applicable.
Download checksumsSaves the same labelled results as a text file. This is a report, not a native sha256sum manifest.
Download JSONSaves byte counts and digest values with their output formats. File results include their names.
Manual copyAppears if clipboard access fails. The output is selected so you can copy with your keyboard.

Exports never contain your source text or secret key. Copying or downloading records numeric activity, without the digests or filenames.

HMAC with a secret key

Enable HMAC when you need a keyed message authentication code. It is useful for checking an API signature’s calculation.

ControlEffect
HMAC with a secret keyOpens the advanced controls.
Enable HMACCalculates HMAC-SHA-1, HMAC-SHA-256, HMAC-SHA-384 and HMAC-SHA-512. MD5 and CRC32 are unavailable.
Secret keyThe key used by HMAC. It stays in tab memory. An empty key is allowed and clearly reported.
Key encodingReads the key as UTF-8 text or decodes hex/Base64 bytes. Match the encoding required by your protocol.

HMAC does not sign a complete API request automatically. You must supply the exact message and key that your protocol specifies.

Expected checksum

Paste a complete hex, Base64 or SRI reference to compare it with every completed digest. Hexadecimal letter case is ignored.

A match highlights the digest and names its algorithm and file. A valid but different value reports no match. An incomplete or unsupported value reports an error.

Get the expected value from a trusted publisher. A match confirms agreement with that value; it does not prove a file is harmless.

Keyboard controls

Every control works with the keyboard. There are no custom shortcuts that override your browser’s copy or paste commands.

KeyAction
Tab / Shift + TabMove between controls in document order.
Enter / SpaceActivate buttons and open file result summaries.
Ctrl + C or ⌘ + CCopy selected text, including the Manual copy fallback.

What this tool will not do

It does not crack hashes, encrypt files or store passwords. SHA-3, bcrypt and NTLM are outside this tool’s scope.

It does not fetch a URL to generate SRI. Choose the exact downloaded script or stylesheet instead. Whitespace changes in that resource change its digest.

JavaScript and a browser with workers are required. Your operating system’s checksum command is an alternative in the guide below.

Frequently asked questions

What is a hash generator?

A hash generator calculates a fixed-length digest from your input. The same bytes and algorithm produce the same result. You can use a checksum to compare a download with a publisher’s reference. Hashing does not encrypt the file.

How do I use the MD5 hash generator?

Paste your text or choose a file. Read the MD5 result and press its Copy button. MD5 always produces 32 hexadecimal characters. Use it to match an existing MD5 reference. Choose SHA-256 when creating a new checksum.

Can I generate a SHA-256 hash of a file?

Yes. Choose Files and select or drop your file. The tool reads its bytes locally in 2 MiB chunks. SHA-256 appears alongside the other five digests. You can also hash several files and download their checksums together.

Are my files or text uploaded?

No. Hash calculation runs inside your browser. Text, file contents, filenames, expected checksums and secret keys stay in this tab. If you sign in, only the encoding, output format and HMAC settings save to your private account.

Is this a password hash generator?

No. MD5 and SHA hashes are fast general-purpose algorithms. Adding a secret key does not make them suitable for password storage. Use a dedicated password hashing scheme such as Argon2id in your application. This tool does not generate bcrypt or NTLM hashes.

Can I convert an MD5 hash to SHA-256?

You need the original input. A digest does not contain the original text or file. Hashing the MD5 string produces SHA-256 of that string, not SHA-256 of the original data. This tool calculates both directly when you provide the input.

Why does the same text give a different hash elsewhere?

Check the bytes first. A trailing newline, a space or a different encoding changes the digest. Visually identical Unicode text can have different byte sequences. The guide shows tested examples. For a file checksum, choose the file rather than pasting its text.

Something missing? Request a feature

↑↓ move↵ openesc close