Technology calculators

Checksum Calculator

Updated Aug 10, 2026 By Jehan Wadia
Rate Formulas
Algorithm Selection
Changing the algorithm clears the previous result.
Quick pick — supported algorithms
Input Data
Input format
Size: 0 bytes | 0 characters

Read as binary in your browser; contents are not shown in the text box.

Checksum Result
Output Size: 0 bytes | 0 characters
Verify Checksum
Comparison ignores letter case, spaces, colons and a leading 0x.
Output Representations
RepresentationValue
Step-by-Step Solution
Output Byte Values

Introduction

A checksum is a short code made from data. If even one bit of the data changes, the code changes too. That makes checksums a fast way to check if a file or message is still correct.

This free online checksum calculator makes that code for you. Type text, paste hex bytes, upload a file, or load a URL. Then pick an algorithm and get the result right away. Everything runs in your browser, so your data stays on your computer.

You can choose from many hash and checksum types:

  • Cryptographic hashes: MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3, and RIPEMD-160
  • Simple checksums: Adler-32, Fletcher-16, and Fletcher-32
  • CRC codes: CRC-8, CRC-16, CRC-32, CRC-32C, and more

The tool also does more than just print a hash. You can turn on HMAC to add a secret key, paste a known checksum to verify a download, and view the result in hex, Base64, decimal, or binary. A step-by-step section shows how the answer was found, and a chart shows each byte of the digest. If you only need a plain digest with no CRC options, the Hash Value Calculator is a simpler starting point, while the CRC Calculator focuses on cyclic redundancy checks alone.

How to use our Checksum Calculator

Pick an algorithm, enter your text, file, or hex data, and the calculator shows the checksum or hash value in hex, Base64, and more, plus the steps used to get it.

Hash Algorithms tab: Click this tab to use a hash function like MD5, SHA-1, SHA-256, SHA-512, SHA-3, RIPEMD-160, Adler-32, or Fletcher.

Hash / checksum algorithm: Choose the hash you need from the drop-down list. SHA-256 is the default and is a safe pick for most files.

CRC Algorithms tab: Click this tab to use a CRC check instead, such as CRC-8, CRC-16, or CRC-32.

CRC variant: Pick the exact CRC type, like CRC-32, CRC-32C, or CRC-16-CCITT. Each one uses its own polynomial and start value.

Polynomial representation: Leave this on the preset choice to match the standard CRC value. Change it to Normal, Reversed, or Reversed reciprocal only if you need a different bit order.

Quick pick buttons: Tap any button in the list to jump straight to that algorithm.

Input format: Choose Text if you are typing words, or Hex String if you are pasting hex bytes like 54 68 65. To convert those bytes to other bases first, try the Hex Calculator or the Binary Calculator.

Data to hash: Type or paste the data here. The box below shows how many bytes and characters you entered.

Upload a file: Pick a file from your device to hash it. Files up to 32 MB work, and they stay in your browser.

Load from URL: Paste a web address and click Load URL to fetch a file and hash it. Some sites block this, so upload the file if it fails. For big files, the Download Time Calculator can estimate how long the transfer will take.

Auto-Calculate: Leave this on to get results as you type. Turn it off if you want to press Calculate yourself.

Enable HMAC: Turn this on to make a keyed hash, then type your secret key in the box. Use the eye button to show or hide the key.

Calculate and Reset: Press Calculate to run the hash, or Reset to go back to the sample values.

Lowercase / Uppercase: Switch the letter case of the hex result to match the format you need.

Expected checksum: Paste the known checksum from the file's source, then click Verify. The tool says MATCH or NO MATCH, and ignores case, spaces, colons, and a leading 0x.

Copy and Download: Use Copy Output to copy the result, or Download Result to save it as a text file.

What Is a Checksum?

A checksum is a short code made from a file or a piece of text. You run the data through a math formula, and it gives back a fixed-length string of numbers and letters. If even one bit of the data changes, the checksum changes too. That makes it an easy way to check if a file arrived whole and unchanged.

Why People Use Checksums

  • Check downloads. Many websites post a SHA-256 value next to a file. You hash the file you downloaded and compare the two codes. A match means the file is good.
  • Find errors. Networks, hard drives, and ZIP files use CRC codes to spot bits that flipped by accident. Storage admins often pair this with a RAID Calculator when planning redundancy.
  • Compare files. Two files with the same hash are almost always the same file.
  • Store passwords safely. Apps save a hash instead of the real password.

Hash Functions vs. CRC

Cryptographic hashes like SHA-256, SHA-512, SHA-3, and RIPEMD-160 are built to be hard to fake. It should be impossible, in practice, to make two different files share one hash. Use these when security matters.

CRC codes like CRC-32 and CRC-16 are fast but not secure. They catch random mistakes, not attacks. Anyone can change a file and fix the CRC to match. Use CRC for error checking only.

Simple checksums like Adler-32 and Fletcher-16/32 sit in the middle. They are very fast and used inside formats like zlib, but they are also easy to fool.

Common Algorithms and Digest Sizes

AlgorithmOutput sizeGood for
MD5128 bits (32 hex chars)Old file checks only — broken for security
SHA-1160 bits (40 hex chars)Legacy systems — no longer safe
SHA-256256 bits (64 hex chars)The common choice today
SHA-512 / SHA-3384–512 bitsExtra strength, long-term use
CRC-3232 bits (8 hex chars)ZIP files, Ethernet, quick error checks

A Warning About MD5 and SHA-1

Both MD5 and SHA-1 are broken. Researchers can build two different files that share one hash. They still work fine for spotting accidental damage, but never trust them for signatures, passwords, or proof that a file is safe. Pick SHA-256 or better.

CRC Polynomial Forms

Every CRC is based on a polynomial written as a hex number. The same polynomial can be written three ways: normal (as written, bits shift left), reversed (bits flipped, used by CRC-32 and CRC-16-IBM), and reversed reciprocal (Koopman form). The math result depends on which form and bit order you use, so a CRC-32 in normal form will not match the value your ZIP program shows. Each CRC variant has one standard form, and that is the one you almost always want. The bitwise XOR steps behind each shift are easier to follow with an XOR Calculator, and the remainder idea comes from plain modulo arithmetic.

What HMAC Adds

HMAC mixes a secret key into the hash. Without the key, no one can create a matching code, even if they have the message. APIs and web tokens use HMAC to prove a message came from the right sender and was not edited on the way. Plain hashes cannot do this, because anyone can hash anything.

Hex, Base64, and Case

A hash is really just a string of bytes. Hexadecimal is the usual way to show it, with two characters per byte. Base64 packs the same bytes into fewer characters, which some tools prefer. Upper and lower case hex mean the exact same value, so A3FF and a3ff match. If you need to move between number bases while checking a digest, the Binary to Decimal Calculator handles the conversion.

Tips for Comparing Checksums

  • Make sure both codes come from the same algorithm. A SHA-256 will never match a SHA-1.
  • Check the length. 32 hex characters is MD5, 40 is SHA-1, 64 is SHA-256.
  • Spaces, colons, and a leading 0x do not change the value.
  • Text hashes depend on encoding and on hidden characters. An extra newline at the end changes the whole result.

Related Technology Tools


Formulas used

Adler-32 checksum
A = \left(1 + \sum_{i=1}^{L} b_i\right) \bmod 65521,\quad B = \left(\sum_{i=1}^{L} A_i\right) \bmod 65521,\quad \text{Adler-32} = B \times 65536 + A
Fletcher checksum (16-bit: mod 255; 32-bit: mod 65535)
s_1 = \left(\sum_i d_i\right) \bmod m,\quad s_2 = \left(\sum_i s_{1,i}\right) \bmod m,\quad \text{Fletcher} = s_2 \times (m+1) + s_1
CRC register update (normal, MSB-first)
\text{crc} \leftarrow \big((\text{crc} \ll 1) \oplus (\text{poly} \cdot \text{msb}(\text{crc}))\big) \wedge \text{mask}
CRC register update (reflected, LSB-first)
\text{crc} \leftarrow \big((\text{crc} \gg 1) \oplus (\text{poly}_{rev} \cdot (\text{crc} \wedge 1))\big) \wedge \text{mask}
Final CRC value
\text{CRC} = (\text{crc}_{\text{raw}} \oplus \text{xorout}) \wedge \text{mask}
Reversed reciprocal (Koopman) polynomial form
\text{poly}_{\text{recip}} = \left(\left(\text{poly} \gg 1\right) \vee 2^{w-1}\right) \wedge \text{mask}
Merkle-Damgard padding block count
k = \left\lceil \frac{L + 9}{64} \right\rceil \ \text{(64-byte blocks)},\qquad k = \left\lceil \frac{L + 17}{128} \right\rceil \ \text{(128-byte blocks)}
HMAC keyed hash
\text{HMAC}(K, M) = H\big((K' \oplus \text{opad}) \parallel H((K' \oplus \text{ipad}) \parallel M)\big),\quad K' = \begin{cases} H(K) & |K| > B \\ K & \text{otherwise} \end{cases}

Frequently asked questions

Does my file get uploaded to a server?

No. All hashing happens inside your browser with JavaScript. Your text, keys, and files never leave your computer. That makes it safe to hash private files.

Why does my hash not match the one on the website?

Check these things:

  • Both codes must use the same algorithm.
  • Hashing text is not the same as hashing a file. A file often ends with a newline.
  • Extra spaces or hidden characters change the result.
  • For CRC, the polynomial form must match the standard one.

What is the largest file I can hash here?

Up to 32 MB. Bigger files can freeze the browser tab, so the tool blocks them. For huge files, use a desktop command like sha256sum or certutil.

Why did my URL load fail?

Most sites block cross-origin requests, called CORS. Your browser stops the fetch, not this tool. Download the file first, then use the Upload a file box instead.

How do I hash raw bytes instead of text?

Click Hex String for the input format, then paste your bytes, like 54 68 65. Spaces, commas, colons, dashes, and 0x prefixes are all fine. Each byte needs two hex digits.

What does the error about an odd number of hex digits mean?

Every byte takes exactly two hex characters. If you paste 7 or 9 digits, one byte is incomplete. Add or remove a digit so the count is even.

Which algorithm should I pick?

SHA-256 for most jobs, including checking downloads. SHA-512 or SHA3-256 if you want extra strength. CRC-32 only for quick error checks. Avoid MD5 and SHA-1 for anything about security.

Can I use HMAC with CRC or Adler-32?

No. HMAC needs a real cryptographic hash. The tool hides the HMAC switch on the CRC tab and shows a note if you try it with Adler-32 or Fletcher. Pick SHA-256 or another hash instead.

Is my HMAC key sent anywhere?

No. The key is read as UTF-8 text in your browser and used only for the math. It is never sent or saved. Use the eye button to hide it while you work.

Why is the CRC result different when I change the polynomial form?

Each form shifts bits in a different direction, so the math changes. Only one form is standard for each CRC variant. The tool presets that form and warns you when your pick is not canonical.

What does the byte chart show?

Each bar is one byte of the result, from 0 to 255. It is a quick picture of the digest. A good hash looks random, with bars spread all over the range.

Why is decimal missing for long hashes?

A SHA-256 is 256 bits wide. That number is far too big for normal JavaScript numbers to hold exactly. Decimal only shows for results of 48 bits or less, like CRC-32 and Fletcher-16.

Does uppercase or lowercase hex matter?

No. A3FF and a3ff are the same value. The case buttons only change how it looks so you can match another tool's format. The Verify box ignores case too.

What counts as a match in the Verify box?

The tool strips spaces, colons, dashes, underscores, and a leading 0x, then compares in lowercase. If lengths differ, it tells you, which usually means the wrong algorithm was used.

Why does the same text give different sizes in bytes and characters?

Plain letters take one byte each. Accented letters, emoji, and other symbols take 2 to 4 bytes in UTF-8. The hash works on bytes, so byte count is what matters.

Can two different files have the same checksum?

Yes, that is called a collision. With CRC-32 or MD5 it is easy to force. With SHA-256 no one has found one, and the odds by chance are near zero.

What is the step-by-step section for?

It shows the padding, block count, round count, and final XOR used to get the answer. It helps students and engineers see how the algorithm works, not just the output.

Why does an empty input give no result?

The Calculate button turns off when there is no data. Real hash tools do return a value for empty input, but this tool asks you to enter something first so you do not copy a blank result by mistake.

How can I tell which hash a checksum came from?

Count the hex characters: 8 is CRC-32, 32 is MD5, 40 is SHA-1 or RIPEMD-160, 56 is SHA-224, 64 is SHA-256, 96 is SHA-384, and 128 is SHA-512.

Does turning off Auto-Calculate change the answer?

No. It only stops the tool from running as you type. Press Calculate when you are ready. This helps with large hex pastes or slow devices.