Fast File Validator

Fast File Validator (FFV) is a program for verifying files against a checksum file and for creating such checksum files. (I’m using checksum in the generic sense. Technically, neither CRC32 nor MD5 is really a checksum.)

FFV supports both SFV files (which use the CRC32 algorithm) and MD5 files. Actually, it can handle both types of checksum in the same file, although you don’t normally see this, and I don’t recommend creating such files.

FFV is fast, because it’s written directly to the Win32 API to avoid unnecessary overhead and it uses a multi-threaded design, so it can calculate the CRC while reading the file. (Note: In my limited tests, it’s about 40% faster under NT 4.0 than under Windows 98, reading the same files off the same hard drive.)

I would like to hear from anyone who uses FFV, especially if you find it useful. You can find my contact information here.


FFV is released under the terms of the GNU General Public License.

If you would like to be notified when new versions of FFV are released, you can subscribe to release notifications at (Click the “follow” button under my picture in the box on the right-hand side of that page.)

For Linux and other POSIX-compatible systems:
Fast File Validator 0.47 (source only) (139k) (November 20, 2011)

For Windows 9x/NT/2000/XP:
Fast File Validator 0.47 (exe & source) (135k) (November 20, 2011)

Read the documentation.

Release History
* FFV 0.47 — 20 Nov 2011
You can now specify a directory to verify on the command line
   (Checks all .SFV & .MD5 files in that directory)
Test suite no longer requires Inline::C
POSIX version handles a limits.h that doesn’t define PATH_MAX
* FFV 0.46 — 27 Jan 2007
Make FFV’s exit status reflect the comparison results
* FFV 0.45 — 9 Oct 2006
Added the --relative option
* FFV 0.44 — 30 Aug 2006
Implemented the --allow-errors option for the POSIX version
Now includes a test suite (tests require Perl & Inline::C)
Minor bug fixes
* FFV 0.43 — 19 Aug 2006
Build fixes for non-GNU POSIX-compatible systems (eg, Solaris)
Some support files were missing from the distribution
* FFV 0.42 — 5 Oct 2005
FFV now has a POSIX-compatible version (eg, Linux)
Added the --allow-errors option (Win32 only)
* FFV 0.37 — 25 Dec 2001
Added the --no-verify option
Can now read (but cannot create) checksum files generated by md5sum
Prints a warning if an invalid line is found in a checksum file
* FFV 0.34 — 15 Dec 2001
Added the --hidden and --license options
* FFV 0.32 — 17 Oct 2001
Added the --allow-writing option
Skip files that can’t be opened when creating a checksum file
Explain why files can’t be opened when verifying a checksum file
* FFV 0.29 — 29 Jun 2001
Fixed the progress meter to work properly with files 4GB or larger
* FFV 0.28 — 31 Dec 2000
First public release of FFV