Canonical: https://rom-weaver.com/docs/checksum-roms-browser

# Checksum a file in the browser

Calculate any file's checksum and compare it with an expected value. Your file stays in your browser.

For ROM title lookup, use [Identify a ROM](<https://rom-weaver.com/docs/identify-roms-browser.md>). For terminal procedures, see [Hash a file](<https://rom-weaver.com/docs/identify-and-hash-files.md#hash-a-file>).

<!-- START doctoc -->
## Table of contents

- [Calculate checksums](<#calculate-checksums>)
- [Add an algorithm](<#add-an-algorithm>)
- [Compare with an expected checksum](<#compare-with-an-expected-checksum>)

<!-- END doctoc -->

## Calculate checksums

1. Open [Checksum file](<https://rom-weaver.com/checksum>).
2. Select the algorithms in **Options**. CRC32, MD5, and SHA-1 are selected by default.
3. Leave **Auto extract** checked to open archives and containers. Clear it to checksum the original file.
4. Add one file. If an archive contains several files, choose the file to check.
5. Wait for **Checksums** to show the results.

You can add a text file, patch, ROM, archive, or any other file. Select a checksum row to copy its value.

<figure class="docs-screenshot">
  <img src="../screenshots/checksum-initial-light.webp" alt="The checksum page shows 0x01 Input and 0x02 Options, with algorithm choices and Auto extract checked" width="1280" height="960">
  <figcaption>Choose algorithms and extraction in Options before adding a file.</figcaption>
</figure>

## Add an algorithm

1. Select another algorithm, for example **SHA-256**.
2. Select **Calculate SHA-256**.

With **Auto extract** checked, an archive can ask you to select its file again. Each calculation uses one selected file for all displayed checksums.

To stop a calculation, cancel it from the progress bar. The previous results stay available.

The [checksum support table](<https://rom-weaver.com/docs/supported-formats.md#checksum-support>) lists every algorithm.

## Compare with an expected checksum

1. Paste the expected value into **Compare with an expected checksum**.
2. Read the result under the field.

<figure class="docs-screenshot">
  <picture>
    <source media="(max-width: 520px)" type="image/webp" srcset="../screenshots/checksum-mobile-dark.webp" width="390" height="1200">
    <img src="../screenshots/checksum-desktop-light.webp" alt="File checksum choices, Auto extract, and a matching SHA-256" width="1280" height="960">
  </picture>
  <figcaption>A pasted SHA-256 matches the calculated value.</figcaption>
</figure>

A match names the algorithm. For ROMs with known headers or byte orders, a match can also name a transformed variant.

An 8-character or 64-character value can belong to several algorithms. If another algorithm is needed, select it and calculate it.

If no checksum matches, check that you selected the correct file and extraction setting.
