LocalUtils logo
LocalUtils

Verify a file checksum

Calculate and compare file checksums.

Open tool

Steps

  1. Obtain the expected checksum from the software publisher or another authenticated channel.
  2. Choose the same algorithm named by the publisher; values from different algorithms cannot be compared.
  3. Select the file and let the worker finish without modifying or re-downloading it.
  4. Compare the complete hexadecimal strings, preferably by copy/paste into a constant-time or exact text comparison rather than checking only the first characters.

Supported formats

  • Input: any local file readable by the browser File API.
  • Output: hexadecimal digest strings for the selected algorithms.
  • A digest identifies exact bytes; changing one byte, metadata field, or archive timestamp normally changes the result.

Things to know

  • A matching digest cannot detect malware when the trusted reference describes the same malicious file.
  • CRC32 is an error-detection checksum, not a cryptographic integrity proof.
  • MD5 and SHA-1 have known collision weaknesses.
  • Large files take time to read and still consume device I/O and processing resources.

Troubleshooting

  • If values differ, confirm algorithm, file version, architecture, decompression state, and whether the publisher hashes an archive or its contents.
  • Copy the checksum without spaces, labels, or hidden line breaks.
  • Recalculate after a fresh download only when the expected value comes from a trusted independent source.

Common questions

Which algorithm should I choose?

Use the exact algorithm supplied by the publisher. For new cryptographic integrity references, SHA-256 or a stronger modern digest is generally preferable to MD5 or SHA-1.

Does a matching hash mean a file is safe?

No. It only means the bytes match the referenced bytes; it says nothing by itself about intent or malware.

Why did renaming not change the hash?

The tool hashes file contents, not the local filename. Changing embedded metadata or rebuilding the file can change its bytes.

Test results

Test results

checksum-study

Tested

Recorded environment

Browser
Google Chrome 150.0.7871.182
OS
Windows 11
App revision
86b9bd1+working-tree

Exact test method

Hash the UTF-8 fixture with all five production algorithms and compare every hexadecimal result byte-for-byte.

Independent check

Compare cryptographic digests with Node.js crypto and CRC-32 with crc-32.

Synthetic fixtures

manifest.json · SHA-256
Recorded browser output
Recorded browser output78.3 KB · SHA-256 a8c54028a706c339…

Recorded observations

MeasureExpectedObservedStatus
crc32expected_results_jsonexact_matchMatched
md5expected_results_jsonexact_matchMatched
sha1expected_results_jsonexact_matchMatched
sha256expected_results_jsonexact_matchMatched
sha512expected_results_jsonexact_matchMatched

Scope limits

A matching checksum verifies byte equality against the chosen reference; it does not establish trustworthiness or authenticity.