HashMyFiles v1.72
Copyright (c) 2007 - 2011 Nir Sofer
Web site: http://www.nirsoft.net


HashMyFiles is small utility that allows you to calculate the MD5 and SHA1 hashes of one or more files in your system. You can easily copy the MD5/SHA1 hashes list into the clipboard, or save them into text/html/xml file.
HashMyFiles can also be launched from the context menu of Windows Explorer, and display the MD5/SHA1 hashes of the selected file or folder.

System Requirements

This utility works on Windows 2000/XP/2003/Vista/Windows 7. Older versions of Windows are not supported.

Versions History

  • Version 1.72:
    • You can now drag one or more files from the window of HashMyFiles into Explorer window or other application.
  • Version 1.71:
    • Added 'Remove Selected Files' (Ctrl+R), which remove the selected files from the list of hashes.
  • Version 1.70:
    • Added 'Add Header Line To CSV/Tab-Delimited File' option. When this option is turned on, the column names are added as the first line when you export to csv or tab-delimited file.
  • Version 1.68:
    • Added 'Copy CRC32' to the context menu.
  • Version 1.67:
    • Added 'Copy CRC32' option.
  • Version 1.66:
    • In 'Add By Wildcard' window, the browse button now works properly.
  • Version 1.65:
    • Added 'Add By Wildcard' option (F6), which allows you to add multiple files by specifying wildcard and subfolder depth.
    • Added /wildcard command-line option for using the new 'Add By Wildcard' option from command-line.
  • Version 1.61:
    • Fixed bug: Export to .csv files didn't work well if one of the values contained comma characters.
  • Version 1.60:
    • Added 'File Attributes' column.
    • Added 'Show Time in GMT' option.
    • Added 'Move To Recycle Bin' option.
    • Fixed missing icons problem in Windows7/x64.
  • Version 1.55:
    • Added 'Delete Selected Files' option, which allows you to easily delete duplicated files.
  • Version 1.52:
    • Added sorting command-line options.
  • Version 1.51:
    • Fixed bug: Modified Time and Created Time displayed the same date/time.
  • Version 1.50:
    • Added 'Explorer Paste' option, which allows you to paste a list of files that copied from Explorer window or from any other software that copy files to the clipboard, including some utilities of NirSoft, like SearchMyFiles, IECacheView, and RegDllView. (by using the 'Explorer Copy' option)
  • Version 1.47:
    • Fixed bug: Save command-line options failed to work in the last release.
  • Version 1.46:
    • Fixed issue: When HashMyFiles window is hidden and there is an icon in the taskbar, running HashMyFiles again will open the existing instance of HashMyFiles, instead of creating another one.
  • Version 1.45:
    • Added 'Put Icon In Tray' option.
  • Version 1.43:
    • When you specify empty string ("") in the /folder command-line option, HashMyFiles will now use the current folder.
  • Version 1.42:
    • Added AutoComplete to select folder dialog-box
  • Version 1.41:
    • Fixed bug: 'Mark Hash In Clipboard' option marked all hashes when one or more hash types were deselected.
  • Version 1.40:
    • Added 'Hash Types' sub-menu under options. Allows you to select which types of hashes you want to calculate.
  • Version 1.37:
    • Fixed bug: When dragging a file into HashMyFiles window while it's already processed by HashMyFiles, the file was added multiple times.
  • Version 1.36:
    • Fixed bug: When 'Add files in subfolders' was selected, only sub-folders files were added.
  • Version 1.35:
    • Added 'Select Folder' dialog-box.
    • Added new option: 'Add files in subfolders'.
    • Added /folders command-line option
    • Added file extension column.
    • 'Select Process' dialog-box is now resizable.
  • Version 1.31:
    • Added support for adding multiple files in 'Add File' option.
  • Version 1.30:
    • Added new columns: File Version and Product Version. (for exe and dll files)
  • Version 1.29:
    • Fixed bug: The main window lost the focus when the user switched to another application and then returned back to HashMyFiles.
  • Version 1.28:
    • Display single file progress information (in percent) while hashing large files.
  • Version 1.27:
    • Added new file type in save - comma-delimited file (.csv)
    • Added new command-line option - /scomma
  • Version 1.26:
    • 'Mark Identical Hashes' option - now also works with saved HTML files and HTML reports.
  • Version 1.25:
    • Add new column: 'Identical' - When there are 2 or more identical hashes, this column is filled with a number (1 for the first identical hashes, 2 for the second, and so on...)
    • Add 'Mark Identical Hashes' option - Mark identical hashes with up to 8 different colors.
  • Version 1.20:
    • Fixed bug: When using 'Add Process Files' option, the filenames displayed in short path format.
  • Version 1.19:
    • New command-line option: /files (support for loading multiple files)
  • Version 1.18:
    • Fixed bug in Unicode version: wrong characters added to clipboard copy option.
  • Version 1.17:
    • Added 'Mark Hash In Clipboard' option. If this options is selected, the hash that you copy to the clipboard is compared to the MD5/SHA1 hashes that are currently displayed in HashMyFiles. If there is a match, the hash line is marked in green color.
  • Version 1.16:
    • Added 'FF FE' characters in the beginning of the saved Unicode files (Unicode version only).
  • Version 1.15:
    • Fixed bug: HashMyFiles remained in memory if you closed it while calculating hashes.
    • New option: 'Add Process Files' - Allows you to get the hashes of all DLL files of the selected process.
  • Version 1.10:
    • Explorer Context Menu - If an instance of HashMyFiles is already running, the selected files will be added to the existing instance, instead of creating a new one.
    • File icons are now displayed according to the file type.
    • New option: Always On Top.
    • Added 'Stop' menu item while calculating the hashes.
    • Added CRC32 calculations.
    • Added new columns: Modified Time, Created Time, and File Size.
  • Version 1.00 - First Release.

Using HashMyFiles

HashMyFiles doesn't require any installation process or additional DLL files. In order to start using it, simply run the executable file (HashMyFiles.exe).
After you run it, you can add files and folders that you want to view their MD5/SHA1 hashes. You can do it by using the 'Add File' and 'Add Folder' options under the File menu, or simply by draging the files and folder from Explorer into the main window of HashMyFiles.
After adding the desired files, you can copy the MD5/SHA1 hashes to the clipboard, or save the hashes list into text/html/xml file.

Explorer Context Menu

HashMyFiles can also be used directly from Windows Explorer. In order to enable this feature, go to the Options menu, and choose the 'Enable Explorer Context Menu' option. After you enable this feature, you can right-click on any file or folder on Windows Explorer, and choose the 'HashMyFiles' item from the menu.
If you run the HashMyFiles option for a folder, it'll display the hashes for all files in the selected folder.
If you run the HashMyFiles option for a single file, it'll display only the hashes for that file.

Notice: Static menu items of Explorer do not support multiple file selection. If you want to get the hash of multiple files from Explorer window, use Copy & Explorer Paste, or drag the files into the HashMyFiles window.

Command-Line Options

/file <Filename | Folder | Wildcard> Specifies the filename, folder, or wildcard that you want to hash.
/files <Filename> <Filename> <Filename> ... Specify multiple filenames, folders, or wildcards that you want to hash.
/folder <Folder> Specifies a folder and all its subfolders.
/wildcard <Full Path Wildcard> <Subfolder Depth> Specifies wildcard with full path (e.g: c:\folder\*.exe) and the depth of subfolders to scan. For <Subfolder Depth> parameter: 0 = no subfolders, 1 = one level of subfolders, 2 = two level of subfolders, and so on... 1000 = Infinite number of subfolders.
/stext <Filename> Save the hashes list into a regular text file.
/stab <Filename> Save the hashes list into a tab-delimited text file.
/stabular <Filename> Save the hashes list into a tabular text file.
/shtml <Filename> Save the hashes list into HTML file (Horizontal).
/sverhtml <Filename> Save the hashes list into HTML file (Vertical).
/sxml <Filename> Save the hashes list to XML file.
/scomma <Filename> Save the hashes list to comma-delimited file.
/sort <column> This command-line option can be used with other save options for sorting by the desired column. If you don't specify this option, the list is sorted according to the last sort that you made from the user interface. The <column> parameter can specify the column index (0 for the first column, 1 for the second column, and so on) or the name of the column, like "Filename" and "Identical". You can specify the '~' prefix character (e.g: "~Identical") if you want to sort in descending order. You can put multiple /sort in the command-line if you want to sort by multiple columns.

/nosort When you specify this command-line option, the list will be saved without any sorting.

HashMyFiles.exe /file "c:\temp\*.zip" /shtml "c:\temp\1.html"
HashMyFiles.exe /file "d:\temp\myfile.zip" /stab "d:\temp\myfile.txt"
HashMyFiles.exe /file "d:\my files"
HashMyFiles.exe /files "c:\temp\*.zip" "c:\temp\1234.exe" "c:\temp\Hello.exe" /shtml "c:\temp\1.html"
HashMyFiles.exe /folder "c:\temp" /shtml "c:\temp\1.html"
HashMyFiles.exe /folder "c:\temp" /shtml "c:\temp\1.html" /sort "Identical" /sort "Filename"
HashMyFiles.exe /folder "c:\temp" /shtml "c:\temp\1.html" /sort ~1
HashMyFiles.exe /wildcard "c:\temp\*.zip" 1 /shtml "c:\temp\1.html"

Translating HashMyFiles to other languages

In order to translate HashMyFiles to other language, follow the instructions below:
  1. Run HashMyFiles with /savelangfile parameter:
    HashMyFiles.exe /savelangfile
    A file named HashMyFiles_lng.ini will be created in the folder of HashMyFiles utility.
  2. Open the created language file in Notepad or in any other text editor.
  3. Translate all string entries to the desired language. Optionally, you can also add your name and/or a link to your Web site. (TranslatorName and TranslatorURL values) If you add this information, it'll be used in the 'About' window.
  4. After you finish the translation, Run HashMyFiles, and all translated strings will be loaded from the language file.
    If you want to run HashMyFiles without the translation, simply rename the language file, or move it to another folder.


This utility is released as freeware. You are allowed to freely distribute this utility via floppy disk, CD-ROM, Internet, or in any other way, as long as you don't charge anything for this. If you distribute this utility, you must include all files in the distribution package, without any modification !


The software is provided "AS IS" without any warranty, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The author will not be liable for any special, incidental, consequential or indirect damages due to loss of data or any other reason.


If you have any problem, suggestion, comment, or you found a bug in my utility, you can send a message to [email protected]