point-and-click MD5, SHA1 and BLAKE2 hashing for Windows..

verify data the easy way

The world's fastest hashing application, just got faster!

Welcome to checksum, a blisteringly fast, no-nonsense file hashing application for Windows, a program that generates and verifies BLAKE2, SHA1 and MD5 hashes; aka. "MD5 Sums", or "digital fingerprints"; of a file, a folder, or recursively, even through an entire disk or volume, does it extremely quickly, intelligently, and without fuss. Many people strongly believe it to be the best hashing utility on planet Earth.

Did I say fast? Not only mind-blowing hashing speeds (way faster than even the fastest SSD) but the quickest "get stuff done" time. With checksum you point and click and files, folders, even complete hard drives get hashed. Or verified. Simple. checksum just gets on with the job. Click-and-Go..

Available for 64 bit or 32 bit Windows (a basic Linux/UNIX/BSD version is also included).


In the decade before checksum, I must have installed and uninstalled dozens, perhaps hundreds of Windows MD5 hashing utilities, and overwhelmingly they leave me muttering "brain-dead POS!" under my breath, or words to that effect, or not under my breath. I always knew that data verification should be simple, even easy, but it invariably ended up a chore.

Either the brain-dead programs don't know how to recurse, or don't even pretend to, or they give the MD5 hash files daft, generic names, or they can't handle long file names, or foreign file names, or multiple files, or they run in MS DOS, or choke on UTF-8, or are painfully slow, or insist on presenting me with a complex interface, or don't have any decent hashing algorithms, or don't know how to synchronize new files with old, or have no shell integration or any combination of these things; and I would usually end up shouting "FFS! JUST DO IT!!!".

No more!  Now I have checksum, and it suffers from none of these problems; as well as adding quite a few tricks of its own..

What is it for, exactly?

Peace of mind! BLAKE2, SHA1 and MD5 hashes are used to verify that a file or group of files has not changed. Simple as that. This is useful, even crucial, in all kinds of situations where data integrity is important.

For instance, these days, it's not uncommon to find MD5 hashes (and less rarely now, SHA1 hashes) published alongside downloads, even Windows downloads. This hash, when used, ensures that the file you downloaded is exactly the same file the author uploaded, and hasn't been tampered with in any way, Trojan added, etc.; even the slightest change in the data produces a wildly different hash.

A file hash is also the best way to ensure your 3D Printed propeller blade hasn't been "redesigned" to self-destruct!

checksum on my Windows desktop, hashing like crazy..

It's also useful if you want to compare files and folders/directories; using checksums is far more accurate than simply comparing file sizes, dates or any other property. For quick file compare tasks, there's also checksum's little brother; simple checksum, simply drag & drop Two files for an instant hash-accurate comparison.

peace of mind for your optical data media, with hashing

If you burn a lot of data to CD or DVD, you can use checksum to accurately verify the integrity of your data right after a burn, and at any time in the future. If you distribute data in any way, maybe torrenteering your favourite things, run a file server of some kind, or just email a few files to your friends; hashes enable the person at the other end to be absolutely sure that the file arrived perfectly, 100% intact.

As well as providing secure verification against tampering, virus infection, file (and backup file) corruption, transfer errors and more, digital fingerprints can serve as an "early warning" of possible media failures, be they optical or magnetic. It was a hash failure that recently alerted me to a failing batch of DVD-R disks; I saved my fading data in time, and got a refund on the disks. I'll leave you to consider the million other uses. There's only one reason, though; peace of mind.

Absolutely no-nonsense file verification..

checksum can create (two clicks, or a drag-and-drop) or verify (one click) hashes of a file, a folder, even a whole disk full of files and folders in one simple, no-nonsense, high-performance operation. Basically, you point it at a file or folder and go! The parameters are controlled by command-line switches, but most folk won't have to worry about that; it all happens invisibly, and is built-in to your Windows® Explorer context (aka "concept", aka "right-click") commands (see above).

Note: while checksum operates with command-line switches, it is NOT a Windows® console application; there's no messy DOS box, or anything like that. But if you want to run it from a console, that's covered, too.

There are a wealth of command-line options, but most people find that checksum just works exactly as they would expect, without any messing about; right-click and go! But, if you are the sort who likes to customize and hack at things, you will find plenty to keep you occupied!

On-the-fly configuration..

If you want to change any of checksum's options on-the-fly, simply hold down the SHIFT key when you select its Explorer context menu item, and checksum will pop up a dialog for you to tweak the process. If you want to have anything permanently set, checksum comes with standard plain text Windows ini file for you to tweak to your heart's content. Anyone smart enough to use MD5sums, can edit plain text.

windows checksum creation options dialog

The options dialog is most useful when you want to only hash certain files in a folder, like mp3's, or movies. With your file mask groups, you can configure file-type specific hashing with just a couple of clicks.

checksum creation options dialog, file types group drop-down, regular Windows masks applyCommon music, video, and archive formats come setup and ready to go, and you can easily edit or add to these at any time.

You pop up the options by holding down the SHIFT key when you select the explorer menu item, so it's easy to get to the advanced options whenever you need them. Same goes for verification, though generally you won't need it - checksum is smart enough to just get on with the job, verifying whatever checksum files it finds in the path, be they MD5, SHA1 or BLAKE2, or all of the above, and you'll probably never need to use anything but the default verify command, no matter how advanced you are! And because checksum recognizes other formats of MD5 and SHA1 files (there is no standard BLAKE2 format), it can be used not only to verify and create new checksums, but also verify existing checksum files, even ancient ones, automatically.

I expect there is some weird MD5 file format out there that I don't have an example of, Wang, maybe? but in practice, checksum supports ALL known MD5 verification file formats, that is, known by me. If you find an MD5 file format that checksum doesn't support, !

There isn't really a standard SHA1 format yet, but checksum's is pretty good (it's the same as the output from a *NIX sha1sum command in binary mode). Shall we?

windows checksum verfication options dialog

100% Portable..

checksum usually operates as a regular installed desktop application with Explorer context menus, custom .hash, .md5, .sha1 and .blake2 desktop icons, Windows start menu entries, and so on; but checksum can also operate in a completely portable state, and happily works from a pen-drive, DVD, or wherever you happen to be; no less than total portability.

Even with its little brother, simple checksum tagging along, the whole lot fits easily on the smallest pen-drive (the 32 bit version will UPX onto a floppy disk!), enabling you to create BLAKE2, SHA1 and MD5 hashes, wherever you are. To activate portable mode, simply drop a checksum.ini file next to checksum.exe (or run one-time with the "portable" switch), you're done.

It's no problem to run checksum both ways simultaneously, or to run checksum in portable mode on a desktop where checksum is already installed. Simply put, if there's a checksum.ini next to it, checksum will use it, and if there isn't an ini there, checksum uses the one in your user data folder (aka. "Application Data", aka. "AppData").

If you like applications to run in a portable state, even on your own desktop, no problem; you can skip the installer altogether and simply copy the files (checksum.exe and simple checksum.exe) to wherever you like. They are in the installer's files/ directory inside the main zip archive. There's also a checksum.ini inside the archive, so you can unzip-and-go.

Note: Regardless of whether you install checksum or run it in a portable state, its functionality is identical.

Introducing.. The Unified Hash Extension™
And Multi-Hashing™..

checksum uses the MD5, SHA1 and BLAKE2 hashing algorithms, and can create .md5 and .sha1 and .blake2 (or .b2 or whatever you use) files to contain these hashes. But checksum prefers to instead create a single .hash extension for all your hash files, whatever algorithm you use. Welcome to the unified .hash extension..

an imagean imagean imagean image

I feel there are quite enough file extensions to deal with, and with some effort on the part of software developers, this may catch on. I hope it does, anyway, and that you agree. A single, unified hash extension looks like the way forward, to me. All comments welcome, below.

As well as being able to verify MD5, SHA1 and BLAKE2 hashes, even mixed up in the same file, checksum can also create such a file, if you so desire. At any rate, if you start using BLAKE2 or SHA1 hashes some day, you can keep your old MD5 hashes handy, inside your .hash files..

The single, unified hash extension gives us not only the freedom to effortlessly upgrade algorithms at any time, without having to handle yet-another-file-type, but also the ability to easily store output from multiple hashing algorithms inside a single .hash file. Welcome to multi-hashing, which will doubtless have security benefits, to boot (a multi-hash is simply collision-proof).

Lightning fast..

checksum hashing progress fair zipping along

If you do a lot of hashing, you will know that it's an intensive process, and relatively slow. Well, checksum is fast, lightning fast.

Even on my old desktop (a lowly 1.3GHz, where checksum was initially developed) it would rip through a 100MB file in under one second. The latest checksum can crunch data faster than any hard drive or even SSD can supply it. Hashing your average album or TV episode is instantaneous.

With right-click convenience, intelligent recursion and synchronization, full automization, and crazy-fast hashing speeds, digital fingerprinting is no longer a chore, it's a joy!

Okay, I'm getting carried away, but seriously, this is how hashing was always meant to be.


If you like lists, and who doesn't, here's a list of checksum's "features", as compared to your average md5 utility..

True point-and-click hash creation and verification..

No-brainer hash creation and verification. In a word; simple.

Choice of MD5, SHA1 or BLAKE2 hashing algorithms..

Create a regular MD5sum (128-bit), or further increase security by using the SHA1 algorithm (160-bit). For the ultimate in security, you can create BLAKE2 hashes (technically, BLAKE2s-256, which kicks the SHA family's butt in both security AND hashing speed). checksum recognizes and works with all these formats, even mixed up in the same file.

hash single files, or folders/directories full of files.. no problem..

checksum can create hash files for individual files or folders full of files, and importantly, automatically recognizes both kinds during verification, verifying every kind of checksum file it can find. Also, when creating individual hash files, checksum is smart enough to skip any that already exist.

Effortless recursion (point at a folder/directory or volume and GO!) ..

Not only fully automatic creation and verification of files, and folders full of files, but hash all the files and folders inside, and all the folders inside them, and so on, and so on, through an entire volume, if you desire..  one click! ... Drive hashing is now officially EASY!

LONG PATH support..

All checksum's internal file operations use UNC-style long paths, so can easily create and verify hashes for files with paths of up to 32,767 characters in length. Goodbye MAX_PATH!

Full UNICODE file name support..

checksum can work with file names in ANY language, even the tricky ones like Russian, Arabic, Greek, Japanese, Belarusian and Urdu. checksum can also handle those special characters and symbols that lurk inside many fonts. In short, if you can use it as a Windows file or folder name, checksum can hash it!

"root", folder or individual file hashes, your call..

Some people prefer hashes of folders, some prefer "root" hashes (with an entire volume's hashes in a single file). Some people like individual hashes of every single file. I like all three, depending on the situation, and checksum has always been able to do it all.

Email notifications..

checksum can mail you when it detects errors in your files; especially handy for scheduled tasks running while you are away or otherwise engaged. checksum's Mail-On-Fail can do CC, BCC, SSL, single and multiple file attachments (including attaching your generated log file), mail priority and more.

Multiple user-defined file mask groups..

For instance, hash only audio files, or only movies, whatever you like, available from a handy drop-down menu. All your favourite file types can be stored in custom groups for easy-peezy file-type-specific hashing. e.g..

The most common groups are already provided, and it's trivial to create your own. You can also enter custom masks directly into the one-shot options, e.g. report*.pdf, to hash all the reports in a folder, create ad-hoc groups, or whatever.

Automatic music playlist creation..

Another killer feature; checksum can create music playlist files along with your checksums! When creating a folder hash, if checksum encounters any of the music files you have specified in your preferences; mp3's, ogg files, wma, whatever; it can create a playlist for the collection (i.e.. the album). Rather nifty, and a perfect addition to the custom command in the tips and tricks section.

As well as regular Windows standard .m3u/m3u8 playlist files (Winamp, etc.), checksum also supports .pls (shoutcast/icecast) playlists.

Effortlessly handles all known** legacy md5 files..

If you discover an MD5sum that checksum doesn't support,

Create lowercase or UPPERCASE checksums at will..

Like many things, this can also be set permanently, if you so wish.

Automatic synchronization of old and new files..

Automatically add new hashes to existing checksum files.

That's right! Automatically add new hashes to existing checksum files!

Integrated Windows® Explorer context (right-click) operation..

The installer will setup Windows® Explorer context commands for all files and folders, so you can right-click anything and create or verify checksums at will. Very handy. "setup", the rather clever installer, is also available in its own right, as a free, and 100% ini-driven installer engine for your own goodies. Stuffed with features, easy to use, and definitely deserving a page to itself. Soon.

As explained above, you can also bypass the installer altogether, and simply unzip-and-go, for 100% portable checksumming. Or you can have both.

Scheduler Wizard..

One of checksum's special startup tasks is a Scheduler Wizard, which will guide you simply through the process of creating a checksum scheduled command in Windows Task Scheduler.

Click a few buttons, set your preferences in the familiar one-shot options dialog, and go!

No-fuss intelligent checksum verification..

Cut and paste your own checksum files if you like, rename them, mix and match legacy MD5 formats in a single file, even throw in a few SHA1 or BLAKE2 hashes just for fun; worry not; checksum will work it out!

Permanently ignore any file types..

Obviously we don't want checksums files of checksum files, for starters, but if you have other file types you'd like on a permanent ignore, desktop.ini files, thumbs.db, whatever; it's easy to setup. The most common annoying file types already are.

Ignored folders..

As well as a set of permanently ignored folders (like "System Volume Information", $RECYCLER, and so on) you can set custom ignore masks on a per-job basis, using standard Windows file masks, e.g. "foo*" or "?bar".

Real-time tool-tip style dynamic progress update..

Drag it around the screen - it snaps to the edges, and stays there (checksum also remembers its dialog screen positions, for intuitive, fast operation).

Tool-tip progress can be disabled altogether, if you wish.

Right-click the Tooltip for extra options.

During verification, any failures can be seen real-time in a system tray tool-tip, hover your mouse over the tray icon for details. checksum also flashes the progress tooltip red momentarily, and (optionally) beeps your PC speaker, to let you know of any hash failures. If there were errors, the final tooltip is red (by default). Anything to make life a bit easier.

Verify a mix of multiple (and nested) MD5, SHA1 and BLAKE2 checksum files with a single command..

Does what it says on the can!

Extensionless checksum files..

Traditionally, individual checksum files are named filename.ext.md5. Personally, I find this inelegant, and prefer them to be named filename.md5. I like it so much, I made it the default, but you can change that, if you like. When running extensionless; if checksum encounters multiple files with same name, it simply adds them to the same checksum file, so checksums for foo.txt, foo.htm, and foo.jpg would all go inside foo.md5, or better yet, foo.hash. Highly groovy.

On the verify side of things, checksum has always verified every possible checksum it can find, so these multi-hash file look just like regular folder hash files, and verify perfectly, so long as the data hasn't changed, of course!

Search & Verify Single Files..

With checksum, you can verify a single file, anywhere in your system, from anywhere in your system, regardless of where its associated .hash file is in the file tree, be it in a folder or root (aggregate) hash.

checksum will search up the tree, first looking for matching individual .hash files, and then folder hashes, all the way up to the root of the volume until it finds one containing a hash for your file, at which point it will verify that one hash and return the result. Another fantastic time-saver!

This works best as an explorer context menu command (supplied).

Smart checksum file naming, with dynamic @tokens..

checksum file names reflect the actual files or folders checked! Automatically.

If you want more, you can specify either static or dynamic checksum file names, with a wide range of automagically transforming tokens. See below for details.

Report Changed/Corrupt/Missing States..

checksum can optionally store a file's modification date and time along with the checksums, like so..

5deee1f6ac75961d2f5b3cfc01bdb39c *info.nfo

Thanks to the extra information, during verification checksum will report files with mismatched hashes as either "CHANGED" (they have been modified by some user/process) or "CORRUPT", where the modification time stamp is unchanged.

These will show as a different color in your HTML logs.

You can choose whether or not to report (and log) missing, changed, or corrupted files. For example, if you only want to know about CORRUPT files, but don't care about changed or missing files, you would set..


As one commenter (below) pointed out, with this sort of functionality, checksum would become "the only tool against silent data corruption". I believe this goal has now been achieved.

The chosen algorithm is also stored along with this information, for possible future use (aye, more algorithms!).

Automatically remove hashes for missing files..

Stuff gets deleted, on purpose; fact of computing life. When verifying your hashes, you can have checksum remove those entries from your .hash file automatically, so you never have to think about them again!

The number of deleted hashes, if any, is posted in your final notification.

Automatically update hashes for changed files..

Files gets mindfully altered; another fact of computing life - MP3's get new ID3 tags, documents get edited, and so on. Now you can have your hashes updated, too! That's right! During verification, you can instruct checksum to automatically update (aka. "refresh") those entries (and their associated timestamps) inside your .hash file. No more editing required!

The number of updated hashes, if any, is also posted in your final notification.

Effortless hashing of read-only volumes..

checksum can create BLAKE2, SHA1 and MD5 hashes for the read-only volume, but store the checksum files elsewhere; either with relative paths inside; so you can later copy the checksum file into other copies of the volume, or absolute paths; so you can keep tabs on the originals from anywhere.

checksum currently has three different read-only fall-back strategies to choose from; use whichever most suits your needs.

Extensive logging capabilities, with intelligent log handling and dynamic log naming..

checksum always gives you the option to log failures. But you can log everything if you prefer. hashing times can be included in the logs, and proper CSS classes ensure you can tell what's-what at a glance.

Relative or absolute log file path locations can be configured in your preferences, as can the checksum log name itself; with dynamic date and time, as well as dynamic location and status tokens, so you can customize the output naming format to your exact requirements.

In other words, as well leaving it to checksum to work out automatically, or typing a regular name into your prefs, such as "checksum.log", you can use cool @tokens to insert the current..

@sec   ...   seconds value. from 00 to 59
@min   ...   minutes value. from 00 to 59
@hour   ...   hours value, in 24-hour format. from 00 to 23
@mday   ...   numeric day of month. from 01 to 31
@mon   ...   numeric month. from 01 to 12
@year   ...   four-digit year
@wday   ...   numeric day of week. from 1 to 7 which corresponds to Sunday through Saturday.
@yday   ...   numeric day of year. from 1 to 366 (or 365 if not a leap year)

There is also a special token: @item which is transformed into the name of the file or folder being checked, and @status, which automatically transforms into the current success/failure status.

You can mix these up with regular strings, like so..

log_name=[@year-@mon-@mday @ @hour.@min.@sec] checksums for @item [@status!].log

The @status strings can also be individually configured in your prefs, if you wish. Roll the whole thing up, and with the settings above, the final log name might look like..

[2007-11-11 @ 16.43.50] checksums for golden boy [100% AOK!].log

HTML logging with log append and auto log-rotation..

As well as good old plain text, checksum can output logs in lovely XHTML, with CSS used for all style and positional elements. With the ability to append new logs to old, and auto-transforming tokens, you setup automatic daily/monthly/whatever log rotation by doing no more than choosing the correct name. You can even have your logs organized by section and date, all automatically; via the free-energy from your @tokens.

Click here to see a sample of checksum's log output, amongst other things.

Exit Command..

checksum can be instructed to run a program upon job completion. It can also pass its own exit code to the program.

Total cross-platform and legacy md5 file format support..

MD5 and SHA1 hash files from UNIX, Linux, Mac and Solaris, as well as a myriad of legacy Windows and DOS MD5 formats, in fact, every hash file I've ever come across, is supported. Throw any old MD5sum at checksum, and you'll get results. And if you don't (*gasp*),

Work with hidden checksums..

If you don't like to see those .hash files, no problem; checksum can create and verify hidden checksum files as easily as visible ones. Like most options, as well as on-the-fly configuration via the options dialog (hold down SHIFT when you launch checksum), you can set this permanently by altering checksum.ini.

To create hidden checksums (same as attrib +h), use "h" on the command-line, or choose that option from the options dialog.

Don't worry about creating music playlists with the invisible option enabled, the playlists will be perfectly visible, only the checksums get hidden! (well, someone asked! ;o)

"Quiet" operation..

Handy if you are making scheduled items, etc, and want to disable all dialogs and notifications. Simply add a 'q' (or check the box in the one-shot options).

You can also set checksum to only pop up dialogs for "long operations". Just how long constitutes a long operation, is of course, up to you. The default is 0, so you get "SUCCESS!", even if it only took a millisecond. Check your preferences for many more wee tricks like this.

"No-Lock" file reading..

checksum doesn't care is a file is in-use, it will hash it anyway! And it won't lock your files up while it's doing it. Feel free to point checksum at any folder.

Audio alerts..

Unrelated to the "quiet" option (above), checksum can thoughtfully invoke your PC speaker to notify you of any verification failures as they happen, as well as shorter double-pips on completion (if your PC supports this - many modern PCs don't). You can even specify the exact KHz value for the beeps, whatever suits you best.

You can also assign WAV files for the success and failure sounds, if you prefer. A few samples can be found here.

Drag-and-drop files, folders and drives onto checksum..

If you prefer to drag and drop things, you can keep checksum (or a shortcut to it) handy on your desktop/toolbars/SendTo menu, and drag files or folders onto it for instant checksum creation. This works for verification, too; if you drag a hash file onto checksum, its hashes are instantly verified.

Note: like regular menu activation, you can use the SHIFT key to pop-up the options dialog at launch-time. You can also drag and drop files and folders onto the one-shot options dialogs, to have their paths automatically inserted for you.

User preferences are stored in a plain text Windows® ini file..

You can look at it, edit it, back it up, script with it, and handle it. Lots of things can be tweaked and set from here, though 99.36% of people will probably find the defaults are just fine, and the one-shot option dialogs handle everything else they could ever need. But if you are a more advanced user, with special requirements, chances are checksum has a setting just for you. Click here to find out more about checksum.ini

Comprehensive set of command-line switches..

Normally with checksum, you simply click-and-go; but checksum also accepts a large number of command-line switches. If you are creating a custom front-end, modifying your explorer context menu commands, or creating a custom scheduled task or batch file, take a look at checksum's many switches. For lots more details, see here.

If you simply have some special task to perform, it can probably be achieved via the one-shot options dialog.

Shutdown when done..

If your system doesn't normally run 24/7, don't let that stop you from hashing Terabytes of data! checksum can be instructed to shutdown your PC at the end of the job.

That's a lot of features! And it's not even them all!

checksum is jam-packed with thoughtful little touches, you might even call it Artificial Intelligence! Wherever possible, if checksum can anticipate and interpret users, it will.

checksum icon

Legacy and cross-platform MD5/SHA1 file formats that checksum can handle..

If you look inside any MD5/SHA1 checksum file - it's plain text - you find all sorts of things.

Here's what a regular (MD5) checksum file looks like..

01805fe7528f0d98c595ba97b798717a *01 - Stygian Vista (radio controlled).mp3

Each line begins with the MD5/SHA1 digest (hash), followed by a space, then an asterisk, then the filename. It's a clear format, flexible, relatively fool-proof ("*" is not allowed on any file system), and well supported.

Other formats I've come across..

single file single MD5/SHA1 hash types - these necessarily have the same name as the file, with ".md5" or ".sha1" extension added, and are often hand-made by system admins, or else piped from a shell md5/sha command) ..


space delimited hashes (before we figured out the clever asterisk)..

01805fe7528f0d98c595ba97b798717a 01 - Stygian Vista (radio controlled).mp3
4988ae20125db807143f84dbe09df9782c3c033a 01 - Stygian Vista (radio controlled).mp3

double-space delimited hashes (just silly, really)..
Believe it or not, this is the de-facto standard for md5 files, mainly because it's the output from the UNIX md5sum/sha1sum command in 'text' mode, which amazingly; is the default setting. By the way; md5sum's "-b" or "--binary" switch overrides this insanity.

01805fe7528f0d98c595ba97b798717a  01 - Stygian Vista (radio controlled).mp3
4988ae20125db807143f84dbe09df9782c3c033a  01 - Stygian Vista (radio controlled).mp3

TAB delimited hashes (I am assured these do exist!)..

01805fe7528f0d98c595ba97b798717a 01 - Stygian Vista (radio controlled).mp3
4988ae20125db807143f84dbe09df9782c3c033a 01 - Stygian Vista (radio controlled).mp3

back-to-front hashes in parenthesis - this is quite a common format around the UNIX/Solaris archives of the world (it's the output from openssl dgst command) ..

MD5(01 - Stygian Vista (radio controlled).mp3)= 01805fe7528f0d98c595ba97b798717a  or..
MD5 (01 - Stygian Vista (radio controlled).mp3) = 01805fe7528f0d98c595ba97b798717a  even..
SHA1(01 - Stygian Vista (radio controlled).mp3)= 4988ae20125db807143f84dbe09df9782c3c033a

checksum supports verification of all  these formats with ease, so feel free to point it at any old folder structure, Linux CD, whatever, or any .md5 or .sha1 files you have lying around, and get results.

And in case the above track names got you googled here, yes, checksum also works great in Microsoft® Vista, and Windows 7, Windows 8, Windows 8.1, Windows 10 and Windows Server of course, even XP! ;o)

simple checksum

the GUI of simple checksum, checksum's wee brother app for drag & drop hashing

Supplied along with checksum is checksum's little brother app, "simple checksum", a supremely simple, handy, free, and highly cute drag-and-drop desktop checksumming tool utilizing checksum's ultra-fast hashing library; for all those "wee" hashing tasks..

Drop a file onto simple checksum, get an instant MD5, SHA1 or BLAKE2 hash readout.

Drop two files, and get an instant MD5, SHA1 or BLAKE2 file compare.

Drop two folders, and get a hash-perfect folder compare (using checksum as the back-end).

Drop a file onto simple checksum with a hash in your clipboard, get an instant clipboard hash compare.

And that works from your "SendTo" menu, too (select two files - SendTo simple checksum.. instant file compare; send two folder, get a hash-perfect folder compare), as well as drag and drop onto simple checksum itself, or a shortcut to simple checksum.

Packed with intuitive HotKeys and time-saving automatic settings, simple checksum is Handy Indeed!

And simple checksum is COMPLETELY FREE, as in beer. Check it out..

128px version of simple checksum's icon


Download and use checksum, for free..



click to see zip archive contents

LIVE MD5+SHA1 Multi-Hashes..
# made with checksum.. point-and-click hashing for windows (64-bit edition). # from # 024f061d2262d95d0864fa558fd938f9 * 199ef31f91c06786a05eeead114c026a67426488 *

checksum x64

click to see zip archive contents

LIVE MD5+SHA1 Multi-Hashes..
# made with checksum.. point-and-click hashing for windows (64-bit edition). # from # 72e1cac7bd2dfd4ce3cf862920350bfa * 86d8db98f96b5c8e196594667b9d324e066f4215 *

A ßeta also available!

If you want the latest bug-fixes and features, grab the beta..


checksum latest beta

click to see zip archive contents

LIVE MD5+SHA1 Multi-Hashes..
# made with checksum.. point-and-click hashing for windows (64-bit edition). # from # e38f4d81a0361719298d2552c58145ab * 6f7bea53fe1950939ed4628939ed9b8c3b9cef5a *

checksum latest beta x64

click to see zip archive contents

LIVE MD5+SHA1 Multi-Hashes..
# made with checksum.. point-and-click hashing for windows (64-bit edition). # from # b223fad3d3fbbc4395681364d8285ee3 * 866b7e18ea04774880dc1bf51c60626028e40021 *

NOTE: If your Anti-Virus software detects anything in this software, I recommend you switch to an Anti-Virus that isn't brain-dead. If you DO discover an actual virus, malware, trojan, or anything of that nature inside this software, please , and I will send you a cheque for a Million Pounds, as a reward. In other words, this software is clean.

These guys agree..

the Softpedia 100% Clean logo the windows 10 download logo CHECKSUM antivirus scan report at checksum antivirus report at CHECKSUM antivirus scan report at todaysoftware 100% clean award todaysoftware 5 star Excellence award top4download 5 star award logo bluechillies 5 star award windows7download 5 star award logo checksum's TopShareware 100% CLEAN, of course. checksum's TopShareware award.. 5/5 sharewarecentral 5 star award logo top4download 5 star award logo top4download 5 star award logo download2pc 5 thumbs up award logo Shareup Networks checksum at  filefishstick Forte Downloads

(Ahh.. The beauty of PAD Files!)

If you want to see checksum's PAD file, it is here.

License Upgrade

If you need to upgrade your old license to the new format (checksum v1.3+) go here.

aka. 'version info', aka. 'changes'..

This is usually bang-up-to-date, and will keep you informed if you are messing around with the latest beta, and let you know what's coming up next. Note: it was getting a bit long to include here in the main page, so now there's a link to the original document, instead..

You can get the latest version.nfo in a pop-up windoid, here, or via a regular link at the top of this page.

Leave a comment about checksum..

If you think you have found a bug, click here. If you want to suggest a feature, click here. For anything else, feel free to leave a comment below..

previous comments (fourty two pages)   show all comments

Ken Koehler - 02.04.15 7:50 pm

I love your software! I started using it in 2011 to monitor the heath of files in my collection. Funny story, in retrospect anyway: I had it working great for a month, then it got really slow. Seemed like the whole stream got hung. I had it running quiet on an unattended machine from an "AT" scheduled job. A few times I picked it up trying to figure it out. Last weekend I discovered it took exactly 10 minutes per folder. When I ran it buy hand I saw the "Register Me" popup. I wasn't aware of the effect of the trial expiring so the project laid dormant until last weekend.

I have one request: The ability to specify the log folder from the command line. I know it's configurable from the INI but I would like to keep the logs in their own folder per project. Not global to the machine and not in with the files I'm monitoring. If the command line switch is not present fall-back to the INI value.

This might cause you a problem with your queuing mechanism. I don't use queuing if that helps.
BTW, how can I clear the queue? While experimenting with options in an automated BAT file I got thousands of jobs queued. I had to walk away for the day when I couldn't figure out how to clear it.
I look forward to experimenting with new found features like playlist creation.

I'm glad you are still in business and that I can resume my project. Years ago it was a pain finding a program to handle checksumming like I wanted it. Then when I ran into the unknown trial issue I searched for a replacement several times to no avail.

The queue is stored in a plain text file in your system temp directory (if you click the x86/x64 in checksum's about box, you get a cute Easter Egg system info box. You can see your system's "Temporary File Directory" there). The file is named "checksum_queue".

I will look into making the logging location configurable on the command-line. In the meantime, consider running checksum in portable mode, where the logs go in the program folder. You could also run multiple portable copies, each with individual settings.

;o) Cor

ps. playlist creation has been around since almost the beginning! But there are LOADS of other new features for you to play with!

mark - 30.04.15 9:19 pm

Was wanting to know if you can change the seed value and can you verify software on different machines by pluging into them? If so what connection type do u prefer? and possible have u thought about also verifying in GAT?


I suspect you may have posted this at completely the wrong site, or else it's all just over my head.

Seed value? There is no such thing in checksum or its algorithms. You're thinking about pseudo-random number generators, perhaps.

verify software on different machines by pluging into them, I have no idea what that means. You can verify files on any machine you have access to its file system.

connection type? This is outside the scope of this software. Checksum works on file systems, be they local or network. It doesn't care how they are connected, so long as they are. checksum prefers fast connexions!

verifying in GAT? Again, I have no idea what this means. No definition or connotation of the acronym/initialism that I know of has any relevance to checksum. I thought a GAT was a rifle!

;o) Cor

BW - 13.05.15 5:33 am

I seem to be battling with excluding folders from being checksummed. I set the following in checksum.ini:

ignore_folders=M:\$AVG,M:\$RECYCLE.BIN,M:\System Volume Information,M:\Sort\uTorrent,M:\Xbox

but as I was watching the status of checksum working in the background I could see it checksumming the files in the folders mentioned above.

So what is the correct way to exclude folders? Is this better:

ignore_folders=$AVG,$RECYCLE.BIN,System Volume Information,uTorrent,Xbox

As an example I have this folder layout:


How can I checksum the files in M:\Sort but exclude ALL files/folders/subfolders in M:\Sort\uTorrent\Downloaded and M:\Sort\uTorrent\Downloading?

Thanks for any help! smiley for :lol:

In the notes above that preference, it states that you can enter folder names, so full paths isn't going to work, checksum will simply ignore your preference.

In your scenario, using..


would do the trick. Don't forget, you can also put directory exclude masks on the command-line, e.g. checksum.exe cr1x(foo*,*bar,baz*qux) "D:\MyDir"

;o) Cor

archedraft - 07.07.15 2:49 am

Email notifications!

1. Do you happen to have a template to use gmail as checksums mail server?

Not as such, the usual settings should work fine:

Mail Server:
Password: YourPassword
Name: checksum
To: whateverAddress@whereverInbox
SMTP Port: 465
Use SSL: (checked)

2. Is there a way that we can test the email notification to see if everything was setup currently?

Yes. If you hover your mouse over any of checksum's controls, anywhere, you get pop-up tooltip help. If you hover over the Save button in the mail prefs window, you will see how.

3. Could you also add an option to always get email notifications every time we run the checksum, ie shows how many files changed and got deleted. Would be useful if we setup a windows scheduler just to confirm it ran properly.

I hadn't considered it, hence the name, "Mail-On-Fail"! But it is doable, yes. Leave it with me. ;o) Cor

Cor - 07.07.15 2:35 pm

DeMo! I moved your comment to my email inbox and have a nice reply, but when I go to send, I realize you didn't leave your email address! Pop me and a mail and we can delve into it.

People! For bug reports, especially for older versions, please use email!

;o) Cor

Cosimo - 22.07.15 5:26 pm


thanks for this great software!

My problem: i need to compare two md5 lists, one generated by Checksum and another from md5sum under Linux. Directory trees are different. It's possible with Checksum?

The "one from <insert any hashing app>" isn't a problem for checksum, but the directory trees being different, will be. No app can handle that, syat. Of course, it depends how different they are.

Without more details it's impossible to give worthwhile advice about the best way to tackle this.

;o) Cor

wafranyofl - 21.08.15 2:28 am

Hello Cor,

it seems your program is what I was searching for years. A friend recommended it today and I tried it right away with very promising results under Windows 8.1 Pro.

Why do I need "Checksum"?

I have a large video collection on DVDs that I have transferred to several hard disks for easier handling. There's one root directory for every DVD which contains the subdirectories AUDIO_TS and VIDEO_TS like every DVD-Video. Until today I used Total Commander to create MD5-Checksums of the complete directory VIDEO_TS since it's not going to change. The result is e.g. \Scifi\DVD999\VIDEO_TS.md5. The checksum is placed in the same directory as the subdirectory VIDEO_TS.

While Total Commander does this fine and can even verify multiple MD5 checksums within the same directory it isn't able to verify recursively. That's why I need "Checksum". It's time consuming and boring to have to change the directories again and again and start each verify manually. Your "Checksum" is right now checking all MD5s of a 3 TB hard drive recursively in the background. What a relief! Great program!

But I have two problems I haven't found a solution for yet:
I want "Checksum" to produce hashes with the extension "md5" instead of "hash".
I need the MD5 in the root directory from where I start the creation of the checksum for the directory "VIDEO_TS". At the moment the checksum is automatically stored within the directory "VIDEO_TS".

I've searched the help here, the INI-file and preferences but didn't find out how it is done. Can you help me? I'm using the 64 bit version of the program (installed) because apart from these two problems it does everything I need right out of the box.

with kind regards

Great friend you've got there!

For the first preference, look for the following setting in checksum.ini:


Make it false, and from then on, checksum will create hash files with .md5 (or.sha1 / .b2 depending on the algorithm used) extensions.

But before you do that, at least consider the advantages of the unified extension!

As for your second request, I'm puzzled. checksum will always create a root hash in whatever directory you start it in (a trick I often use to create hashes and playlists from multi-CD albums).

Perhaps you didn't enable the root hashing option (it's in the options dialog (hold down <SHIFT> key when you launch checksum), or put a "1" (no quotes) on the command line or context menu command).

;o) Cor

wafranyofl - 21.08.15 3:59 pm

Hello Cor!

unified_extension=false did the trick for MD5 extensions. But whatever I do the hash of a subdirectory is written to the subdirectory itself and I don't want that changed. I right-click on the "VIDEO_TS" directory, press the shift key and let Checksum generate a MD5. The switches used are "qcrtb1" which is irritating because in cheksum.ini quiet_operation=false is set. The resulting "VIDEO_TS.md5" is still written to the directory "VIDEO_TS" instead of its root directory from where I issued the command.

with kind regards

THIS is why I ask people to not post these sorts of things on the main checksum page, it can quickly get lengthy! If this response doesn't sort it out, please email me! If/when it's figured out, I can add any intelligence gained to the main documentation.

OKAY. The only time that the "q" switch will be added by checksum (during hash creation) is if you have a queue in progress and you have apply_options_to_queue set to true (so that you don't get bugged over and over again to apply the same options). The queue file is created in your system temp directory, by the way.

As for the hash location, you need to create the hash in the directory above the VIDEO_TS directory; i.e. open Explorer to the folder where you can see the VIDEO_TS folder (and possibly AUDIO_TS folder) and right-click on an empty space in that folder (technically known as the folder "background menu"), create from there.

Or go up and right-click the parent folder directly. Currently, by clicking on the VIDEO_TS directly, you are telling checksum to create hashes inside VIDEO_TS.

Lastly, if you aren't already, please use the latest beta.

;o) Cor

As for the hash location, you need to create the hash in the directory above the VIDEO_TS directory; i.e. open Explorer to the folder where you can see the VIDEO_TS folder (and possibly AUDIO_TS folder) and right-click on an empty space in that folder (technically known as the folder "background menu"), create from there.

That's it! When you do things the same way for a very long time you're so used to it that you don't see alternatives. I would never had the idea to klick into the empty space of the directory instead of the VIDEO_TS folder. That's because I need a checksum of this folder only and not the others like AUDIO_TS which is usually empty on DVD-Video.

Fr4gFr0g - 12.09.15 5:15 pm

Yo corz,

where is this Scheduler Wizard You talkin' about?

"One of checksum's special startup tasks is a Scheduler Wizard.."

Aye, not very well documented yet. Along with loads of other undocumented tricks, tips and features, details of this can be found in the itstory (link at top of page) in the update section. To save you searching, here it is again..

You can now create basic tasks for your system scheduler, to perform
checksum jobs on a schedule. Handy for hashing your morning torrent
downloads, weekly verifying your backups and much more..

A "wizard" will ask you a few questions about the task, user name, time
and so on, and then pop open the options dialog (create or verify,
depending on the task), where you can set your options for the scheduled

You can also have schedule setup as your default startup command (see
below - v1.5.2.0 changes)..


If you set that inside checksum.ini, launching checksum with nothing to do, will instead pop up the scheduler "wizard". The text seems to imply that there is another way to activate the scheduler wizard. Currently there is not.

If you are a "Power User" with an hour to give, I definitely recommend checking out the itstory; it is filled with juicy bits!

;o) Cor

-> Thanks for the quick reply! ..searched the whole site but not considered taking a peek there smiley for :roll:.

Simon - 29.09.15 2:45 am

Hi , great program but for me this program should have more hash algorithms.. sha256 - it is also often used hash algorithm.
For example i can't check ifranview checksum here:
I think adding this algorithm is really necessary to make this really power tool.smiley for :D
Best Regards
S. D.

SHA-256 hashing for file verification is OTT (like BLAKE2!), and for web downloads is just stupid. Irfan should know better. ;o) Cor

Caleb - 15.10.15 6:42 am

Hi I am happy to be testing your program and have a feature request that will make it even more useful:

Context: I have several terabytes of image (photo) files and perform periodic archiving of backup disks. At times I want to test the integrity of the archive disk (against themselves to ensure no file corruption) and also to tect the active master disk to against the archive.

I know I can do a top level directory hash and verify an entire disk. I also know I can set checksum to create separate hash files in each folder. Those options are great, thanks. At times I want to test a full directory, other times I want to test a sub directory e.g. year and others I want to test a folder.

When I check my working directory disks to my archive disks I expect some files to change, specifically .xml sidecar files to RAW files and jpgs and DNG files. These all change when Adobe Lightroom (or other raw processor) writes updates metadata written to non-RAW formats.

Based on the above...


1) Root and Folder checksums in one pass: To avoid re-running checksum multiple times to produce BOTH the top level hash AND the folder level hash files could you enable a both level hash files be created in a single run, i.e. I could select both FOLDER (DEFAULT) CHECKSUM and ROOT CHECKSUM? Taking this one step further, might you consider an option for a checksum at each level of a directory tree? In my example then I could verify at root, year and folder levels.

2) Filter verification file target: Even more important than #1 is: It would be great if one could verify only a subset of the checksum files in a hash file. In other words, if I have a root checksum hash file and only want to verify RAW files or only want to verify files from a given year or subdirectory it would be great to have that option. This could be done with a combination of file type filter and a directory structure check-box that would permit checking/un-checking part of the drive directory to yield the desired levels/folders to verify. With terabytes of files and different verification needs at different times (weekly vs monthly vs yearly) this would save huge time vs verifying entire roots of all file types (or having so many different checksum hash files created for desired filters at multiple directory levels.

3) Filter/Hide/Sort log report: With huge drives holding hundreds of thousands of files it would be great to be able to filter/hide/sort the verification log/report. It would also be great to be able to export this to a text or other file for deeper investigation (possibly the filtering would be easy for the user if imported to excel, etc. The point here is that if one gets a large number of failures (or expected changed files from archive to working drive comparison) one wants to examine the results via filters/sorting/hiding to drill down to what is important to know from the verification result, i.e. too many failure listings become meaningless because cant digest quantity of raw info.

Sorry for the very long request. I spent the entire day researching programs like yours and find yours to be the best and am hoping you can incorporate these features I found in other less good programs.


An excellent feature request, albeit on the wrong page! smiley for :D (I may move it to the tricks and tips page, as it's a good example of how to ask for things)

OK, 1. I have considered adding an option to create root hashes at every level of a tree, for exactly the reasons you specify but decided against it at the time because the downside (massive time taken if someone simply decides to verify the actual root).

Creating both root and folder hashes in a single run sounds doable, but the code involved Vs how easy it is for users to create a batch script/batch runner job/run two jobs means it unlikely to be done soon, unless a) someone REALLY wants it and buys a big license or b) I figure out an elegant and quick way to achieve this.

I've been working on ffe for the last month+ so the inner workings of checksum are like childhood memories at the moment. I'll get back to you about this when I'm back inside checksum.

2. I like the first part of this idea and have added it to my 2do list. I am referring to verifying only certain files/hashes based on a set of filters/wildcards, e.g. "*.mkv".

As for the ignoring certain parts of the tree, again, this sounds like a lot of work that only one or two people would benefit from. And again, hey, if those people are generous, I'll dive into it! Besides, checksum can already do a lot of this if you utilize its ignore feature. Setup verification commands/schedules for different jobs with different ignore parameters. If you need lots of commands, check out Batch Runner.

As for 3, I'm pretty sure checksum can already output plain text logs (the HTML came later), do..


From there, you and your text editor can filter away to your heart's content!

Seriously though, I like the idea of filtering the logs. What sort of things would you be looking to filter in/out?

;o) Cor

next comments (2 pages)

Posting is currently disabled. Come back later!

Welcome to!

If something isn't working, I'm probably improving it, try again in a minute. If it's still not working, please mail me!