a point-and-click sha1 and md5 hashing application for windows..

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 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 (faster than your hard drive!) 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 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 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! 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.

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) both SHA1 and MD5 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 apply

Common 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 or SHA1, or both, and you'll probably never need to use anything but the default verify command, nomatter how advanced you are! And because checksum recognizes other formats of MD5 and SHA1 files, 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?

100% Portable..

checksum usually operates as a regular installed desktop application with Explorer context menus, custom .hash, .md5 and .sha1 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 a floppy disk (remember those?) or pen-drive, enabling you to create SHA1 and MD5 hashes, wherever you are. To activate portable mode, simply drop a checksum.ini file next to checksum.exe, 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 extract to wherever you like. It's in the installer's files/ directory. There's also a checksum.ini inside the archive, so you can unzip-and-go.

Note: Regardless of whether you install or run checksum portably, its functionality is identical.

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

checksum uses the MD5 and SHA1 hashing algorithms, and creates .md5 and .sha1 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 both MD5 and SHA1 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 SHA1 hashes some day, you can keep your old MD5s 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.

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 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 or SHA1 hashing algorithms.

Create a regular MD5sum (128-bit), or further increase security by using the SHA1 algorithm (160-bit). checksum recognizes and works with both 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!

Multiple user-defined file mask groups.

For instance, hash only MP3 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. reports-*.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 playlist files (Winamp, etc.), checksum also supports .pls playlists (shoutcast/icecast). Your call.

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.

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 hashes just for fun; worry not; checksum will work it out!

Can be configured to 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.

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 and sha1 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!

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 (assuming you are using an updated master CSS file).

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 belive this goal has now been achieved.

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

Effortless hashing of read-only volumes.

checksum can create 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 fallback 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.

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 checksum 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 the dialogs. Simply add a 'q'.

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 ini for more wee tricks like this.

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. 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.

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, 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.

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

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

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 and 8 of course. ;o)

simple checksum

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

Installed 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 or SHA-1 hash readout.

Drop two files, and get an instant MD5 or SHA-1 file compare.

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), 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!

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

128px version of simple checksum's icon


Download and use checksum, for free..


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

checksum x64
LIVE MD5+SHA1 Multi-Hashes..
# made with checksum.. point-and-click hashing for windows. (64-bit edition) # from # f4dd2adce10e23cdbc42b9ad86bb58a4 * 5b185d772f7a74b04dd57ea6d98fe6a6fb95206c *

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

CHECKSUM antivirus scan report at

CHECKSUM antivirus scan report at

checksum antivirus report at

(Ahh.. The beauty of PAD Files!)

License Upgrade

If you need to upgrade your 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.

Welcome to the comments facility!

previous comments (thirty eight pages)   show all comments

arche - 14.02.14 9:20 pm

I have really enjoyed using Checksum over the past few months! I decided to purchase a personal use license the "old-fashioned way" with Paypal. Afterwards I attempted to register, it asked for my email so I put in my Paypal email (I am assuming that is the one that got registered?) then it asked me for the code however I have not received a code? Am I suppose to be getting an email with the code or am I missing something?

Thanks! The registration was sent to your email address immediately on purchase. I sent it again this morning on receipt of your email asking where your registration code was. I can only assume something is wrong with your email account. Check your spam folder. ;o) Cor

Yup, I should have thought of that. Thanks again!

fish_owner - 19.02.14 10:05 pm

Hi Cor, I'd like to thank you for your program - and learn how to use it.

I want to make sure that some folder with 100,000+ files is identical to its copy on other drive. Is there a better way to do it than compare 100,000 checksums visually? I'm sorry, but I didn't find the answer here.

It's on the tricks and tips page. ;o) Cor

Matthew - 01.03.14 7:52 am

Is there a way to allow checksum to continue while a dialog is shown?

No. Dialogs, if enabled, will always halt hashing operations.

eg. I have 3 checksums queued to verify. When the first checksum completes, a dialog box pops up to inform me that everything has been verified successfully. At this point, checksum pauses and will not continue verification of the other files until the dialog is automatically dismissed (if I have it set to do so) or I click OK.

What I'd like is for the dialog to stay open so I see it when I come back to the computer, but for the other checksum files to verify and pop up their own dialog boxes. Perhaps it would also be good if the dialog boxes contain the name of the checksum file that has just been verified. Perhaps it could also add the queued checksums to the current process and present a dialog box after all checksums in the queue have been completed?

These are nice ideas I will be thinking about, thanks. The queueing capability is extremely rudimentary, a simple experiment that worked so well I kept it.

You do have some options. The first is to simply disable queueing. This will thrash your disks a bit, though, processes fighting for disk I/O.

A better idea is to disable dialogs altogether, trust that checksum will let you know if there are any errors (by opening the log folder, assuming logging is enabled - usually is).

The latter option is superior, because is promotes a "click and forget" attitude to using checksum. As soon as you activate the verify task, you can put it out of your mind! If your attention is required (errors) checksum will show you the log file you need to examine.

And, crucially, if your attention is not required (no errors), you don't have to click any dialogs or be reminded at all, you can continue with whatever else you were doing in life!

But that's just how I prefer to work, so I will surely be considering ways of improving the queueing for others at some point. Your suggestions are noted.

;o) Cor

badon - 08.03.14 5:28 pm

Root file checksum does not work for a selection of files and folders in the root. It's all or nothing. I have to right-click on the root folder to checksum everything. It won't work do just select a portion of the file folders in the root folder. That surprised me. It tries to create many checksum files all over the place if I try to do it that way.

What you want is certainly possible, but you would need to have root hashing as your default right-click action. With the current rudimentary queueing, what you are doing, is setting the first job as a root hash, and the other jobs are using the default (unless you were quick enough to catch them starting to press <SHIFT> - unlikely!)

Also, some kind of file list GUI thing might be helpful to preview what will be done, so some things could be removed manually if I want them to be skipped.

With potentially millions of files, this is unlikely to happen. The file masks and ignore prefs do a pretty good job of this.

Another issue: A file with a path of 260 characters is correctly checksummed, but in verification, it will be marked as "missing". A file with a path of 251 characters did not have that problem, so I'm guessing it has something to do with a 255 character path limit.

I have many, many files with path lengths much larger than that. Path lengths could reach into the thousands, and I seem to remember a trend toward raising path length limits to 32'000 characters to eliminate most issues from path length limits.

This is indeed a "file system thing", creating long paths in Windows is highly problematic and definitely not recommended at this time - even Explorer won't do it, and with good reason. IIRC, this is discussed more fully in the comments, above.

;o) Cor

Holodecker - 12.03.14 6:24 pm

Setting root hashing as default does not do what you claim it does. You claim that what badon wants to do is possible. It is not. Setting one_hash=true only works if you select just one folder.
All badon wants to do is select a few files and folders and get ONE (1) hash file.

<miscellaneous non-relevant stuff snipped>

Perhaps I misunderstood. I imagined what he wanted was to select a few folders and get root hashes inside each of the folders. That is what I was giving advice about.

<more snippage>

Please try and remember, you can use this software, which already represents a huge amount of work and effort, for free. When time and finances allow, I do my best to make it the best it can be. Feel free to purchase a 250 user license, I will get right on any feature requests you may have! (though please post them on the correct page).

;o) Cor

stlc8tr - 16.03.14 2:23 am

Hi. Just started testing this program. I'm liking it so far as it has more features than other tools that I've tried like ExactFile. But one thing that I'm finding is that the right-click tray menu option is flaky. Sometimes, I will right-click over the checksum tray icon and after ~5 minutes, the menu will finally appear. Perhaps this is because the app is too busy hashing a large video file?

Correct. For speed, once a file begins hashing, control is not handed back to checksum's gui functions until hashing completes.

Anyway, if you would consider making the right-click menu option something that can be more easily accessed, that would be great. Maybe an option to make the right-click tray menu always appear as part of the tool tip?


Access is fine, so long as you remember that if you try it during a long file hash, you will have to wait until it completes.

If you need to access the menu immediately, hit the <pause> key on your keyboard. Voila! ;o) Cor

stlc8tr - 16.03.14 4:07 am

Also, perhaps you can add a hash checksum to the hash checksum file itself? That way, I can be sure that a large root checksum file for one of my 3TB drives hasn't itself been corrupted.


There is no way to have the checksum for the .hash file inside the file - placing it there would change the checksum!

But there is nothing to stop you creating a .hash file of your .hash file. You would need to remove .hash from the ignored types, of course. I'm assuming this hash-of-hash would be stored on some other media. Or you could simple make a copy somewhere and compare them (with simple checksum).

Please note, in future, please put feature requests on the tricks and tips page. Thanks!

;o) Cor

albyiy - 18.03.14 2:08 am

Hi, first of all I want to thank you for your great programs, they save me so much time!! =)
I've set up a batch of hash verifications of some directories on an external hard disk using both chescksum and batch runner. It all works perfectly, just one thing I'd like to know better about checksum returned status codes... because although the checksum logs assure me that all the verifications had been successful, in the batch runner log it says that one of the checksum run retuned 3 as result, not 0 as usual in the success exit.
So, what's the meaning of this code?


These are the exit/error codes that checksum returns. These aren't foolproof, though they can be useful..

-33 Exited from Splash Screen
-30 User hard exited from hashing operation (dll exit)

-14 User quit (and nothing was done)
-11 checksum.ini is missing
-9 User Quit.
-5 Nothing was done.
-2 There were verification errors.
-1 Read-only media -> checksums on desktop/fallback.

0 Normal Termination.

1 Attempted recursion on a regular file.
2 Nothing to check (no checksum files found).
3 Not a checksum file (this will be returned even when there were good checksum files, too).
4 No arguments supplied.
5 checksum already running (and disabled in ini).
6 Non-existant file.
7 Invalid Path.

They are poorly ordered, and a bit brain-dead; for example; regardless of what happened, if checksum had to use read-only fallback, you get code -1. So it goes.

;o) Cor

badon - 22.03.14 10:16 pm

Root file checksum does not work for a selection of files and folders in the root. It's all or nothing. I have to right-click on the root folder to checksum everything. It won't work do just select a portion of the file folders in the root folder. That surprised me. It tries to create many checksum files all over the place if I try to do it that way.

What you want is certainly possible, but you would need to have root hashing as your default right-click action. With the current rudimentary queueing, what you are doing, is setting the first job as a root hash, and the other jobs are using the default (unless you were quick enough to catch them starting to press <SHIFT> - unlikely!)

I have my Checksum configured in the ini file to always create a root hash file, which is why I think this problem is either a bug or a missing feature. I don't need to hold down the shift key to do root hashes, in other words. Instead of getting a single root hash, I get many root hashes, one for each file and directory.

That is the current expected behaviour. More features will be incorporated into the queueing system as checksum continues to evolve.

By the way, when are you going to get a real forum? SMF is BSD-licensed, and much more capable of handling the quantity of posts your software elicits these days, as word-of-mouth spreads about what you've got here. Forum software is very flexible. I have set up SMF to work as:

* A help desk
* A bug tracker
* A task tracker and prioritizer
* An event scheduler
* A blogging platform

...and probably a few other things I've forgotten about. Really, there's not much basic forum software can't do when it comes to communication and categorization of nearly any kind. We specifically avoid using any fancy plugins or custom code for our forums. We don't even bother to customize the themes! That makes it easy to migrate to other forum software if we ever become dissatisfied with what we're using.

For everything else, we use Semantic MediaWiki, which is incredibly powerful, and a hugely complex project to maintain. Stick with the forum software, it's easy and peaceful smiley for :)

As it is, I just noticed that your custom comment thing won't let me link the word "SMF" to the SMF website. Instead it wants to send me to, so here's the link to SMF in a plain URL:

Well, it looks like it kind of borks that too, so let's try this again:

Nope, also borked. I'm out of ideas. I guess you're going to have to copy and paste the URL if you want to go to the SMF website. I tried!

I have setup Simple Machines Forum many times! But here I like to keep it simple, and more secure.

Oh, one more thing, we recently discovered that our backup techniques weren't as reliable as we thought they were on our FreeBSD system, so we need to be distrustful like we are on Windows, and use at least 2 different ways to verify that our backups are good. As I've mentioned before, I use MultiPar and Checksum on windows for verification and repair. We have par2cmdline-tbb that can take the place of MultiPar on FreeBSD, but I haven't yet found a replacement for Checksum on FreeBSD.

I noticed that there's supposedly a linux version around here somewhere - would it be possible to create FreeBSD binaries too? There might be a way to use the linux version on FreeBSD, but I haven't tried using the features for that yet, and it would be much better if we could have Checksum in the FreeBSD ports system (as a binary package is OK too).

What do you think?

I think you need to check out the Linux version (it's inside the distro, extras/). It's Alpha software, simply a collection of bash script and GUI (KDE or Zenity) activators, which should work on any *NIX/BSD/POSIX system with the required binaries already installed (yes, usually). It's nothing fancy, but provides some basic checksum-like functionality. Full instructions are included.

EDIT: It looks like the URLs were only borked in the preview. They seem to show up fine in the actual post. A bug?

Hah! That is only for your preview! It's an optional feature of my spell-checker. The "borking" is a helpful link for you to check the dubious word at ;o) Cor

Mike - 28.03.14 5:40 pm

A simple question from me, a simple man.

When a 'verify' indicates an existing hash has changed and asks me whether i want to log or not, I investigate and find that what I need to do is update that particular file's hash as I do recognise the change, how can I do that without having to rehash the whole folder again? I am manually editing folder hash files when i feel there must be a quicker way. Suppose what i am asking is when it asks whether i want to log, should it not also be asking whether i want to rehash the failed file?

plans are underfoot - see above. ;o) Cor

Jon - 01.04.14 7:54 am

Thanks for a very useful app. One minor item that you might like to address:

I just got an indignant "The file [...] is not a checksum file!" error message when attempting to verify a couple of .md5 checksums I downloaded today.

They most definitely are checksum files, and after a little digging, I realized that checksum was barfing on them because there was no line delimiter at the end of the single line of text in each file. Simply adding a carriage return before EOF resolved the problem.

Might be nice if checksum could handle such an eventuality a little more gracefully. smiley for :)

Sounds like something I have recently introduced. I will look into it, thanks. ;o) Cor

First, confirm that you are human by entering the code you see..

(if you find the code difficult to decipher, click it for a new one!)

Enter the 5-digit code this text sounds like :

lower-case jay, Upper-Case You, ate, lower-case ex, Upper-Case Bee


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!