Archive tester

TC Archive Tester's Facebook page: - If you find this software useful, please consider supporting developer.


"Archive tester" is a Windows frontend desktop tool that aims to facilitate testing the integrity of massive collections of mixed archive files such as *.7z, *.bz2, *.gz , *.rar *.tar, *.xz, *.zip, *.exe, *.r00/r01, *.z00/z01, *.001... and also *.flac audio files.

What problems does it solve/help with

"Archive tester" is a UI relying on UnRAR.exe (included), 7-zip (can be configured) and or flac.exe (can be configured).

It helps by

  • Scanning your drives or folders for testable files, based on file extension
  • Queuing the testing of mixed archives types (no need to launch tests separately and/or go from one software to another)
  • Running parallel tests (~multithreading), which speed testing of multiple single-threaded algorithm encoded files
  • Generating logs for each tested files (or optionally only for unsuccessful tests).
  • Settings can help tuning and scaling the work.

"Archive tester" is here to bring you bad news: some of your archive files are (probably) broken, corrupted... and if they don't include recovery data and if you don't have backups, they may be lost forever.
Well, hopefully this is not your story! "Archive tester" is a tool to help detecting corrupted archive files across multiple paths/drives showing progress indicators and writing logs. Just give it a few settings and let it run.

Since the end of the nineties, yes that was last century, I have been into various kinds of digital creations. These last years I started doing photography and even more video than I did in the past. Hence I accumulated approximately 25 to 30 terabytes of data.

Over time, I lost a very few archives... Yet some were corrupted but I managed to recover most of those. I have in mind to, someday, write a more detailed page about my archiving processes. Not to tell you what you "should" do but in case you find some inspiration there.

Someday, I tested the integrity of a hard disk using HD Tune. The test passed. Anyway, immediately after, I tested the same disk using the constructor's testing tool, but then, the test failed! All other similar disks from the same brand passed tests, so this was not a constructor conspiracy to make me buy another hard disk. (I think it was a Western Digital Green or a Samsung Spinpoint, I had a lot of both.)
First lesson, all disk testing softwares are not made the same. (But this is not the issue that is address by "Archive tester".)
Yet, on a some drives that passed all tests, I still happened to find some corrupted archives.
Second lesson, testing disk surface integrity is a thing, but you really need to test integrity at file level as well.

Since then, I put everything I archive in *.rar archives, even when there is no actual space gain because this way they are testable and, to some extent, recoverable *. Yet this testability can be automated!

I know that there are command lines that allow to test paths recursively, but for long and numerous archive tests I wanted something more handy that would give me more control, more progression information and would already do a part of the work of reading the logs for me. That's why I started "Archive tester". **

* RAR's recovery record feature saved multiple files for me already. To achieve the same with other formats that I know, you have to generate extra parity using PAR2.

** Command lines also happen to do redundant testings of multivolume archives. I didn't investigate this that much.


2023-04-15: "Plans and ideas" section update

"Plans and ideas" section of this page has been renamed to "Backlog - Dreams" and updated.

2023-04-10 (temporary): Version planned


  • Core library: In case testing a file generates a very large log, one of the process steps could result in an out of memory exception. Some temporarily unnecessary data is now scraped off of that process step, which solves the issue. (Issue was detected testing a file generating a 127 MB and 1,432,787 lines log file.)
  • Installer: In version, application Id is "Archive tester", application Id is now "Archive tester [versions number]". So that each version can accurately be installed in a different folder and have their own uninstall entry in Windows > Settings > Apps

Edit: Most of the work is done and there are some more changes but I will be unavailable for some time son don't expect this before May at best.

2023-04-9: Version released

This update brings various "quality of life" improvements, some bug fixes, some UI behaviours changes, things that should make it feel somewhat steadier.

New features/main changes:

  • "Clear inputs" feature (button)
  • "Overwrite (inputs) on drop" feature (checkbox)
  • Time progress indicators will now update every half second and not only when a file test ended
  • Fix: Skipped files counters counted files twice.
  • (time) "Since started a file" indicator. When running parallel tests (according to "Configuration > Settings > Parellel tests count", the UI has "Since started a file" when running single tests, the UI has "Spend on current file indicator"
  • Fix? : Should stop failing at stopping running tests when stopping and an attempt to fix potential "uncatchable" exceptions when stopping process was implemented. (Since the issue is random and cannot be reproduced at will, only time will tell if it is actually gone.)
  • Some UI elements resizing behaviours improved
  • ...

For a more complete list of changes, please read version change log on this page.

The update I started working on in September 2022 was discarded. The reason is that there are features that I would like to add, there are things in the code that I would like write differently, I would like to make a WPF UI just so I learn it as many "interesting" job offers actually require WPF (I would have thought it "almost old" stuff)... but some of these changes feel like a complete project on their own, some changes are inter-dependant so that I want to do A before B but I also want to do B before A... and I don't find time to go into such big or intricate changes. Hence, I focused on things that didn't require such big changes but that I feel could bring substantial user experience improvement. I have been using version for four years now and it does accomplish its purpose.

2022-11-01: Postponed...

Though I actually started working on new version(s) in September, other priorities showed up and I can't find time to focus on this at this time. Hence, next version is postponed. Or, just maybe, it may result in a smaller being published first.

2022-09-30: New version(s) are actually in the making

Despite what I posted on 2022-09-04, I think that new version(s) will be released at some point. Here some of the things I think of right now:

  • Current version will remain available because I used it for more than 3 years without any major issue.
  • Versions will include a few quality of life improvements, and, IF that works, a new way of processing the file tests. It will remain a WinForms application targetting .NET Framework and in terms of features it will mostly remain as it is now.
  • Versions 0.3.x.x will be more experimental, at least in a first time, I hope to implement some different UI features that may be somehow more complex than what exists in versions 0.2.x.x, and I think of trying things like WPF and maybe .NET Core, just because they are much in demand on the job market.
  • I'm almost certain that there will be a version I do not actually promise that there will be 0.3.x.x .
  • I am thinking of re-making and sharing a set of files that I use to test the application. Though I do not promise that this will include the largest files.
  • I am also thinking of some cleaning on this web page, but this is far from a priority for me.

2022-09-04: Why there haven't been updates for so long

Latest version does "everything I needed" and does it right.

I still have many ideas for improvements, changes, and I am aware of some known issues (non-blocking), but developement has reached a diminishing return point where improvements would take much more time than what they would bring.

I have no sign that other people are using this software and it is not brining any revenue (which would be an incentive, though it is not the project's main objective) ...

As a result of all this, the project is not stopped by has a very low priority in my agenda.


Link Version Date Size SHA256 hash Requires uninstalling
previous version
TC-Archive_tester- 2023-04-09 1,84 MB (1.937.538 bytes)
1,94 MB (2.036.261 bytes)
1,91 MB (2.012.556 bytes)
TC-Archive_tester- 2019-02-12 1,24 MB (1.303.554 bytes)
1,29 MB (1.358.430 bytes)
1,24 MB (1.310.551 bytes)
No This version has been used for more than 4 years. It is not perfect, but it certainly does the work it's made for.
Link Version Date Size SHA256 hash Requires uninstalling previous version
TC-Archive_tester- 2018-07-18 1,09 MB (1.146.433 bytes)
1,13 MB (1.186.162 bytes)
1,09 MB (1.148.634 bytes)
TC-Archive_tester- 2018-01-14 1,12 MB (1.185.749 bytes) D812DFE077E268A410DE4CDEC23FB45EFF7C3C86605BA91BDDE66F82CC1B3D36 Recommended!
Hopefully for the last time as installer software changed.
TC-Archive_tester- 2017-09-28 819 KB (839.208 bytes) 16C09B2CEF1E62B4B30DB3F205E2003F475DF50E1962EEE785F682F590D4E7D3 No
TC-Archive_tester- 2017-09-21 815 KB (835.373 bytes) 38E0106AADF15497D55EB6E64D62C333E9B482A2083837DEA5234C460AB82ACC Yes
TC-Archive_tester- 2017-09-19 820 KB (839.680 bytes) 2068B21BED99B9224D3E4C0A1ECE69CF6D6EEF82F8ED46B489E1642D091CB368 Yes
TC-Archive_tester- 2017-09-19 815 KB (835.058 bytes) 5647F8D82B59092AE9A1CAF2056A949C1550AEDDC089964CC2716EDA2BFE713A No
TC-Archive_tester- 2017-09-10 375 KB (384.330 bytes) CB5726D4C46DDA8F888D453BE0CE5E3597821C9FCAC3782F3F1E7DEB2A6BAEDE No


TC's Archive tester v0.1.3.0 screenshot


  1. Download the software package from this page, extract the files and run "setup.exe".
  2. At first run, you have to agree with the licence.
  3. Go to "Settings" tab.
    1. In "Preferences" subtab, the path to the folder where you want logs to be written in "Log folder" field. This is where the result logs will be generated. If it does not exist yet, it will created when the first log file need to be written.
    2. In ".exe files" subtab, fill the paths where "7z.exe" and "flac.exe" can be found. UnRAR.exe should be set already as its license allows its inclusion to this software.
      (You may find 7z.exe through and flac.exe through )

There are some more settings in the "Settings" tab. For now I'll let you explore them.


For now, you can find some more explanations in the "About" tab.
  • Windows running .NET framework 4.0+
  • 7z.exe (tested with version 16.04 [64] ) to test *.7z, *.bz2 (BZip2), *.gz, *.tar, *.wim, *.xz, *.zip files. Output needs to be in English!
  • flac.exe (tested with version 1.3.2 win32/win64 tested) to test *.7z files. Output needs to be in English!
  • To test *.rar files, UnRAR.exe is provided with the application. Output needs to remain in English!

Version - 20230409


  • New
    • Added "Clear inputs" feature (button)
    • Added "Overwrite (inputs) on drop" feature (checkbox)
    • Added "(time spent) Since started a file" indicator
    • Added "Overwrite on drop" feature for intput (checkbox)
    • Time progress indicators will now update every half second and not only when a file test ended
    • Added (time) "Since started a file" indicator. When running parallel tests (according to "Configuration > Settings > Parellel tests count", the UI has "Since started a file" when running single tests, the UI has "Spend on current file indicator"
  • Smaller changes
    • Time indicators don't display fractions of seconds anymore
    • Resizing of elements was re-organised so that the text input field is treated as main element and is resized with the window (please note that this application is intended to take a fraction of the scren)
    • Added a timestamp prefix to the "action message" at the bottom of the application
    • Added "Inputs behaviours" GroupBox
    • Added "Clear inputs" buttons
    • "Browse for ..." now reads "Browse for..."
    • "Browse for..." is now a GroupBox instead of a Label
    • "Browse for..." GroupBox buttons were made smaller
    • "Time progress" now just read "Time"
    • Time progress indicator values are now aligned to right
    • For non evaluated values, "?" was replaced with "-"
    • For non evaluated ratios, "0/0" was replaced with "-/-"
    • For non evaluated speed, "0" was replaced with "-"
    • "Est. remaining" label now reads "Estimated remaining"
    • "Est. total" label now reads "Estimated total"
    • When possible, progress is now calculated using only StopWatches, no more TimeSpan substractions
    • Default inputs are now loaded from "Default_input.txt" text file in the application instead of being hard-coded
    • Button "Overwrite "Input" text field with initial demo/tutorial" now reads "Overwrite "Input" field with default inputs"
    • "About" tab text now includes a copy of "Default_input.txt".
    • URL "" has was replaced with ""
  • Fixes
    • Tab index corrected (I thought this was already fixed but maybe I confused with another project, or something messed it up.)
    • Noticed that closing window while tests are running may cause interface to freeze and tests to keep running in background, added a dialog box suggesting to cancel closing and first stop all running texts using "Stop" button.
    • "Enable dropping..." checkbox is now accurately disabled while tests are running
    • Configuration > Testers > 7-Zip and flac.exe path examples were suggesting a folder instead of an .exe file, examples corrected.
  • Misc.
    • Updated embedded UnRAR.exe to version 6.21
    • Tested with UnRAR 6.21 (x64), 7-zip 19.00 (x64) and flac.exe 1.3.2 (x64)
    • Code signing self-signed certificate had to be changed after previous one expired.

Core library

  • Changes
    • In Windows Task Manager, "Command line RAR" process should now be grouped under Archive Tester (unless the user closes the UI some way)
  • Fixes
    • Should stop failing at stopping running tests when stopping and an attempt to fix potential "uncatchable" exceptions when stopping process was implemented. (Since the issue is random and cannot be reproduced at will, only time will tell if it is actually gone.)
    • Corrected: "Skipped due to timeout" and "Skipped on request or stop" counts which were counting some files twice


  • ArchiveTester.UI.WinForms now targets .NET Framework 4.5.2 (ArchiveTester.Core.dll still targets .NET Framework 3.5)
  • Some code cleaning.


  • Now installs to "Archive tester [version number]" (and similar numbering for icons), which means that previous versions do not need to be uninstalled or overwritten anymore. On the other hand, configuration maybe have to be copied from a version to another. Not necessarily the perfect solution, but better than before for now.

Version - 20190212

  • New
    • UI: It is now possible to drag and drop files and folders into "Inputs" field. There is a checkbox in settings if you wish to deactivate it.
  • Fixes
    • Fixed?: When stopping testing process while doing a lot of parallel tests, it may happen that the testing queue never gets emptied and UI doesn't get reset. Hopefully this is solved now.
    • UI consistency: Corrected: "Launch tests" and "Skip" buttons were not reset when stopping during discovery phase.
    • UI consistency: Corrected: "Browse for a file to include/exclude" and "Overwrite 'Input' text field with initial demo/tutorial" buttons, "Always skip these folders" text field and "Try testing *.exe file with UnRAR first, then with 7-Zip." checkbox were not disabled when launching tests.
  • Misc.
    • Updated embedded UnRAR.exe to version 5.61
    • Tested with UnRAR 5.61 (x64), 7-zip 18.06 (x64) and flac.exe 1.3.2 (x64)
    • Code signing self-signed certificate had to be changed after switching my environment to a new computer. Not sure yet if it may impact installation.

Version - 20180718

  • Parallel testing (~multithreading)
    • Testing processes can now be ran in parallel (multithreaded). Default thread count is based on .NET's "Environment.ProcessorCount" which counts your computer's logical cores. There is a setting to change this manually too.
      Previous version was singlethreaded, relying on the fact the algorithms such as RAR5 are multithreaded. But some, for instance RAR4, are not multithreaded. This should bring a huge performance gain when testing a large number of files encoded with singlethreaded algorithms (or at least when testing algorithms are singlethreaded).
  • Multivolume I still have a more flexible file extension/tester matching system in mind, but here is already something that should solve many cases.
    • *.001 are now testable through 7z.exe
    • *.r00 and *.r01 are now testable through UnRAR.exe, *.r01 is considered non testable if matching *.z00 exists in the same folder.
    • *.z00 and *.z01 are now testable through 7z.exe, *.z01 is considered non testable if matching *.z00 exists in the same folder.
    • Prevented case when all files ending with *.rar but belonging to the same multivolume archive would get tested along with each other. Which resulted in n2-1 redundant tests (if I got the formula right). Files ending with ".part1.rar" are still considered testable while all other volume, following pattern ".part[N].rar" are now considered non-testable.
    • ?: Should multivolume non-first volumes be counted as non-testable or simply ignored? For now they are counted as non-testable.
  • Self-extracting I still have a more flexible file extension/tester matching system in mind, but here is already something that should solve many cases.
    • *.exe are now optionally testable. *.exe first get tested with UnRAR.exe, if not a RAR archive, a *.exe file will then be tested by 7z.exe, if failed, it will be counted as failed test. There is a checkbox to test or ignore *.exe files. Default value: false.
  • Benchmarking
    • Added "kB/s" indicator
  • Targetting tuning
    • In the "Inputs: Paths to be tested" field, you may now include/exclude specific files, the same way you would include/exclude a folder.
    • There is now a setting to automatically skip some folders by name (separated with "|"). Default value: System Volume Information | $RECYCLE.BIN. (In previous versions, "$RECYCLE.BIN" was hard-coded.)
    • Prevented cases when some file could be tester multiple times or counted multiple times as non testable files (typically if a folder and its parent folder were both set as inputs).
  • Stability and efficiency
    • Closing main form/application now more efficiently closes background threads.
    • Stopping during discovery process will now be much faster (kind of instant).
  • UI
    • At first start, the input text field is now filled with a demo/tutorial, that should be able to scan you all computer if started.
    • Tests that have been stopped by clicking on "Stop" now count as skipped.
    • Possible future improvement: Progress indicators work fine is the full process is ran. Using "Skip" or "Stop" buttons result in skipping files, which may make progress indicators interpretation arguable. This does not look like a priority but may possibly be re-thought in the future. Probably in a smaller update.
  • UI consistency
    • "Skip" button is now disabled during the discovery process and only activated during testing process.
    • Progress indicators that can only be evaluated after at least one file has been tested (such as "Est. total time") now read "?" before they can be evaluated, instead of "00:00:00.0000000".
    • UI consistency: "Launch/Testing" button now reads "Scanning" during the scanning process (instead of "Testing").
    • "Time spent on current file" is replaced with the count of active parallel tests when parallel testing.
    • .exe path text boxes and most setting buttons are now disabled while processing.
  • Dependencies and compatibility:
    • Tested with UnRAR.exe 5.60 and 7-Zip 18.05.
    • Updated UnRAR.exe to version 5.60
  • Possible issue(s):
    • On my Win7 computer, stopping the testing process ("Stop" button") gets the application stuck with one running parallel test running (according to UI). This did not happen on the Win10 computer where I write the code. Cause unidentified so far.

Version - 20180114

  • Fixed a bug which could possibly cause false positives or false negatives in rare cases where specific words appeared in tested file names or paths.
  • Fixed progress bar not being reset when launching tests. (It was re-synching after first file was tested, which made this bug unnoticeable when testing small files.)
  • Fixed a multithreading "bug" which could make some labels not update their value on some systems. However this slightly slows the UI, especially at discovery time, but I think that information accuracy is more important.
  • UI elements such as text fields, checkboxes, radio buttons etc. are now disabled during process.
  • If some tester .exe path is filled in "Configuration" but actual tester .exe file is not found, associated files now go to a new "Tester_not_found" output channel/folder.
  • If some tester .exe path is not filled in "Configuration", files of associated types now go as "Non testable files".
  • Forced 7-Zip output to be UTF-8.
  • Using "Inno Setup" installer instead of "Microsoft Visual Studio 2017 Installer Projects". "Inno Setup" offers more flexibility regarding version numbers, licence agreement, uninstaller, icons, ...
    • In Windows "App & features", version numbers are now shown as x.x.x.x instead of x.x.x.
    • As it is now included in installer, licence agreement as been deactived in the software.
    • "Archive tester" as a new icon. As well as a new uninstaller icon for Start Menu.
    • Hopefully it will not be necessary to uninstall previous versions when installing some new versions in the future.
  • Prevented a rare bug that could happen when using Stop or Skip button, caused by trying to check the state of a process that meanwhile had already finished (only seen in debug mode).
  • Slightly optimised the way the tester .exe files paths are tested if a valid one is not provided already (especially regarding "UnRAR.exe" and secondly it will also look for "WinRAR.exe" standard installation path if "UnRAR.exe" was not found).
    • A temporary feature allows to ignore install version of some type of tester by writing "Do not test" in the associated configuration field, resulting in associated files being "Non testable". (This is temporary because a more generic way of associating files and testers is planned in future versions.)
  • Application setting "Seven7zExePath" renamed to "SevenzExePath". Because that's how I write in the rest of the code.

Version - 2017-09-28

  • Skip button and timeout in "Configuration" > "Settings". Because some large corrupted archives files may take very long, possibly cause a background timeout. Skipped files get removed from progress counts.
  • Ability to exclude paths: Add a "-" (minus) at start of the line to exclude a folder.
  • Progress is now bar based on byte progress instead of file progress.
  • "Settings" tag renamed to "Configuration", new "Settings" tab added under "Configuration" tab.

Version - 2017-09-21

  • Fixed: Bug that could stop file discovery in folder containing non-testable files.

Version - 2017-09-19

  • Fixed a bug at application start due to name change of the licence file.
  • Fixed: Hopefully fixed a possible crash on application close.
  • Fixed: Time spent on current file time label which was not exactly behaving as the other time labels.

Version - 2017-09-19

  • More archive types tested through 7z.exe: *.bz2 (BZip2), *.gz, *.tar, *.wim, *.xz
  • FLAC: *.flac files may now be tested through flac.exe. (You will need to configure flac.exe path in the "Settings" tab.)
  • "Archive tester" is now using UnRAR.exe instead of RAR.exe. UnRAR.exe is included in "Archive tester" package as its license allows it. You may still point to another *.exe file if you wish.
  • In "Settings" tab, you now point at *.exe files instead of a folder + hardcoded *.exe file.
  • Stop button can now stop process while a file is being tested.
  • New "Time spent on current file" timer.
  • Two new log "channels": "Exceptions at discover time" and "Exceptions at testing time". Hence, the exception display form is less often used.
  • Most Exceptions should not stop the process anymore.
  • Application name set to "Archive tester", and "ArchiveTester" as machine friendly name. Exit "TC's Archive Tester" etc.
  • Estimated remaining time label is not shifted to the left anymore.
  • Progress labels now have colors: Green for success, orange for things that may be acceptable but you should give a check, red for failed things.
  • Refactoring for features "extensibility".
  • Application and shortcuts icons should now be displayed correctly.
  • Fixed: UTC checkbox had no effect.
  • License added.
  • ...

Version - 2017-09-10

  • First release on website
  • Fallback log: A secondary window used if, for any reason, log files could not but written (e. g., too long path for Windows)
  • Exception display window: A secondary window that can display possible exceptions/errors
  • ...
  • Process could get broken if .exe files command line outputs change. In that case you would most likely get "Failed" test results for files that are not actually broken. (Which is safer than the other way around.)
  • As 99.99% of my archives are *.rar files, and even my *.flac files are in *.rar archives, RAR is the format I tested the most by simply using the application. Hence the other formats are getting less intense testing.

There are a lot of things that I would like to add/change to this project. On the other hand, early versions have done the work they were expected to for years now... And I can absolutely not focus full time on it. Hence, time between upgrades may be very short or very long.

And by the way, if I get support for it I may be able to give it more attention.

Thing I would like to do next.

Date inserted
in this backlog
Description Comments
? Make a WPF version of the UI This is likely the very first thing I would like to do as I would like to learn WPF, and it really doesn't look really complex when already knowing WinForms, WebForms and yet MVC... but if I do it before the other two "code rework" points, that may result in doing some work twice... thinking about this.
? Rework parts of the core library code
? Rework parts of the UI code
(long ago) Add possibility to use DLLs (like UnRAR.dll instead of UnRAR.exe)
(long ago) Provide my test files for download on this page. (Not the larges files though.)
? Add a detailed view of the tests that are currently running.

Things that I think would be significant improvement but I really can't get into them at this time.

Date inserted
in this backlog
Description Comments
(long ago)

Make file type/tester association more flexible.


  • Handling multi-volumes
  • Handling of *.exe archive files
(long ago) Make nicer logs I could make them like a well presented HTML+JavaScript reports etc... Though, this, typically feels like a whole project on its own...

Things that I don't see like priorities at all

Date inserted
in this backlog
Description Comments
(long ago) Doing more multi-threading so that the "test phase" could start as soon as the "discovery phase" as discovered testable files. But I am not sure if this would be "such" an improvement.
(long ago) Video tutorials/How to use?
(long ago) Improvements to this web page
(long ago) Replacing the licence screen with "Welcome" screen including the licence and some required settings such as .exe file paths If I remember well, I was talking of some kind of "first run" configuration process.
? Make the project open source. I'm really asking myself questions about this... but rather in a direction where my answer will be "no"... but "maybe".

    Known issues

    • In Windows 11, the fields in Configuration > Testers are always grey out (inactive) and empty (displaying placeholder text). Though, testers can actually be selected using the "Select" button, even if their path won't display. (Tested with .rar and .flac files, will try to correct at some point.)
    • I always test the project on some file sets, taking various situations into account and it runs smoothly. Most of the times everything runs smoothly. Then, on very large file sets, sometimes some bugs show up, like file counts being slightly off, some processes raising (uncatchable?/multi-thread) exceptions on stopping... These are things I have an eye on and try to identify and fix, but they maybe very random (they cannot always be reproduced) and may require running tests on very large files sets. At the time I write this I am running such a test that requires 24h of computer work and I am adding some extra debug reporting... So, those kind of bugs that only occur sometimes and after such a long time are not the easiest to identify.
    • Making installers and certificates and so on is not my cup of tea... it sometimes necessary to uninstall previous version.
    • ...