Drag a file in. Get every hash instantly. Verify a download. Compare folders. Find duplicates and reclaim space — safely.
Built with Tauri v2 · React · Rust · TypeScript
ZHashCheck is a desktop app that does one thing extremely well: it tells you the digital fingerprint of any file on your computer, so you can:
- ✅ Make sure a download isn't corrupted or tampered with
- 🔍 Spot duplicate files eating up your disk space
- 📁 Compare two folders to see if anything changed
- 📋 Read or generate
SHASUMSfiles like the ones published by Ubuntu, Debian, VLC, and most open-source projects
You don't need to know what a "hash" is to use it. Just drop a file in the window and ZHashCheck shows you the answer.
Nothing is ever sent anywhere. ZHashCheck has no internet access and stores all your history locally on your machine.
| Tab | What it does |
|---|---|
| Hash | Drop files (or a whole folder) anywhere in the window. Every algorithm you've enabled is computed in one pass over the file. Results stream in live — click any hash to copy. |
| Verify | Paste a hash you got from a website to confirm your download matches. Or open a whole SHASUMS file to verify every file in a release at once. |
| Compare | Point at two folders. ZHashCheck hashes both trees and shows you exactly which files are identical, which differ, and which exist on only one side. |
| Duplicates | Pick one or more folders to scan. ZHashCheck groups identical files together so you can free up space. Deletions always go to the OS Trash, never permanently. |
| History | Every file you've ever hashed is saved locally in a small SQLite database. Search by path or hash and find what you computed weeks ago. |
| Settings | Pick your default algorithms, theme (system/light/dark), density, history retention, and more. |
| About | Project info, links, license, and credits. |
💡 All pre-built installers live on the project homepage — not on GitHub. GitHub only hosts the source. Downloads are exclusively at zsync.eu/zhashcheck.
Download the .msi installerWindows 10 / 11 |
Download the .dmgmacOS 11 Big Sur or newer |
.deb · .rpm · AppImageMost modern distros |
👉 Download ZHashCheck from the official homepage
Prefer to compile it yourself? See Building from source below — the full code is on GitHub.
When you download a file from the internet, two bad things can happen:
- The download can get corrupted along the way (your file ends up broken).
- Someone could tamper with the file (giving you malware instead of the real thing).
Most trustworthy projects publish a hash (a long string of letters and numbers) next to the download. If you compute the hash of your downloaded file and it matches theirs, you know the file is byte-for-byte correct.
ZHashCheck makes this:
- ⚡ Instant — just drag the file in.
- 🧷 Safe — comparisons are done in constant time (no timing leaks).
- 🧠 Smart — the algorithm is auto-detected from the hash length, so you don't have to guess.
|
One read pass feeds every algorithm in parallel. Computing SHA-256 + BLAKE3 + MD5 takes no longer than computing just one — because we only touch the bytes once. |
No internet access. No telemetry. No auto-updater pinging a server. You can verify this yourself: |
|
The deduper uses a three-stage filter (size → quick xxh3 → full BLAKE3) so it only fully hashes files that could be duplicates. And every delete goes to your OS Trash — never permanently. |
Everything has a shortcut. Ctrl/Cmd+K opens the command palette. Right-click anywhere useful for context actions. Switch tabs with ⌘1–⌘8. |
Click to expand the full list
| Family | Algorithms | Notes |
|---|---|---|
| Modern (recommended) | SHA-256 · SHA-512 · BLAKE3 · BLAKE2b · BLAKE2s · SHA3-256 · SHA3-512 | Use these for new work. |
| Common | SHA-224 · SHA-384 | Less popular but still secure. |
| Legacy | MD5 · SHA-1 | Marked with a yellow "legacy" tag — still useful for integrity checks against publishers who only provide them, but not safe for security purposes. |
| Non-cryptographic | xxh3-64 · xxh3-128 · CRC32 | Extremely fast. Good for change detection, not for security. |
For the curious — what's under the hood
| Layer | Tech |
|---|---|
| Desktop shell | Tauri v2 — small, native, secure |
| Backend | Rust (tokio + rayon) |
| Hashing | sha2, sha3, md-5, sha1, blake3, blake2, xxhash-rust, crc32fast |
| Frontend | React 18 + TypeScript + Vite |
| Styling | Tailwind CSS + shadcn/ui |
| UI state | Zustand |
| Big lists | TanStack Virtual |
| Local DB | SQLite (via tauri-plugin-sql) |
| Types | ts-rs — Rust structs → TypeScript automatically |
No HTTP client. No auto-updater. No telemetry. No crash reporter calling home.
Skip this section if you just want to use the app — grab a pre-built installer from zsync.eu/zhashcheck instead.
Requirements: pnpm, Rust 1.80+, and your platform's Tauri v2 prerequisites.
# 1) Clone
git clone https://github.com/TheHolyOneZ/ZHashCheck.git
cd ZHashCheck
# 2) Install JS deps
pnpm install
# 3) Run in dev
pnpm tauri dev
# 4) Build installers for your current OS
pnpm tauri buildThe built installer for your OS lands in src-tauri/target/release/bundle/.
pnpm typecheck # frontend type check
pnpm lint # frontend lint
cargo test --manifest-path src-tauri/Cargo.toml # Rust tests
cargo clippy --manifest-path src-tauri/Cargo.toml \
--all-targets -- -D warnings # Rust lint- 🌐 Zero network calls. The entire dependency tree is audited for HTTP clients and updaters.
- 🗃️ All data is local. History lives in a SQLite file inside the OS-standard app data folder.
- 🧮 Constant-time compares. Verifying a hash never leaks timing info.
- 🗑️ No
rmpath. Duplicates and deletions always go through the OS Trash via thetrashcrate. - 🪪 Scoped permissions. The app only reads files you explicitly pick or drop in.
|
👨💻 |
Author · Maintainer · Designer 🐙 GitHub · 🌐 zsync.eu · More projects, articles, and contact info at zsync.eu. |
| 🏠 Project homepage | https://zsync.eu/zhashcheck/ |
| 📥 Downloads (Windows · macOS · Linux) | https://zsync.eu/zhashcheck/#download (the only place pre-built binaries are published) |
| 🐙 Source code | https://github.com/TheHolyOneZ/ZHashCheck |
| 🐛 Report a bug / request a feature | https://github.com/TheHolyOneZ/ZHashCheck/issues |
| 👤 Developer's GitHub | https://github.com/TheHolyOneZ |
| 🌍 Developer's other projects | https://zsync.eu/ |
| 📜 License (GPL-3.0) | https://www.gnu.org/licenses/gpl-3.0.html |
ZHashCheck is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
ZHashCheck is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
See LICENSE for the full text.
Made with care by TheHolyOneZ · No telemetry · No network · Local-only history