52

I need to check the MD5 of a few files on Windows. Any recommendations on either a command line or an explorer-plugin utility?

10 Answers 10

2

Single file: Look the answer below me.

All .jpg files in current directory:

forfiles /s /m *.jpg /c "cmd /c CertUtil -hashfile @path MD5"

107

There's a built-in PowerShell tool:

CertUtil -hashfile yourFileName MD5

The following rules are as of Windows 7 SP1, Windows Server 2012, and beyond. If they are known to work in older versions, they will be noted with: (independent of Windows version)

  • You will need to open a Command Prompt OR Powershell to run this command
    ** a quick guide to open CMD/Powershell is at the bottom of the answer

  • You can find the checksum for a file using ANY of the following hashing algorithms, not JUST MD5:

     MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512
    
  • To get the current list of supported Hash Algorithms on your specific windows machine (independent of Windows version), run

     CertUtil -hashfile -?
    
  • The full Format is below, optional parameters are in braces - just replace [HashAlgorithm] with your desired hash from above:

     CertUtil -hashfile InFile [HashAlgorithm]
    
  • You can do the command line operation for ANY files, whether they provide a certificate or not (independent of Windows version)

  • If you leave off the [HashAlgorithm], it will default to the SHA1 checksum of your chosen file

  • Its HELPFUL to note that [HashAlgorithm] is case INsensitive in both CMD and Powershell meaning you can do any of the following (for example):

     CertUtil -hashfile md5
     certutil -hashfile MD5
     CertUtil -hashfile sHa1
     certutil -hashfile SHA256
    

Quick: How to Open Command Prompt or Powershell

In case you do not know how to open the Command Prompt or Powershell and you got here by search engine, the following is a quick guide that will work for Windows XP and beyond:

  1. Press [Windows]+[R]
  2. Then, type cmd (or powershell if Windows 8+)
  3. Press [OK] or hit enter
6
  • 9
    The good thing about this one is that it's built in. Jul 16, 2015 at 13:05
  • 3
    Note that the MD5 at the end is case-sensitive Jan 12, 2016 at 18:38
  • Get-FileHash {filename} -Algorithm MD5 is way faster for some reason. Jun 16, 2020 at 13:29
  • How do I get the hashes of all files in folder? Or even sub folders?
    – Macindows
    Sep 17, 2020 at 8:45
  • i just tested working good. ty Jun 20, 2021 at 0:30
17

Open a powershell window and try the following command:

Get-FileHash {filename} -Algorithm MD5

Substituting {filename} with the path to your file, e.g.

Get-FileHash c:\example.txt -Algorithm MD5

More information on this can be found in the docs for Get-FileHash.

2
  • More explanation needed.
    – Sven
    Mar 22, 2018 at 8:58
  • The above is a powershell command, open a powershell window and substitute the {filename} section with the path to your file.
    – Alex Berry
    Mar 22, 2018 at 12:03
10

For the right-click Explorer shell extension option, I use Nirsoft's HashMyFiles.

nirsoft is w00t

1
  • It also does have limited command line options, documented on the linked page.
    – hyperslug
    Aug 23, 2009 at 4:19
7

http://www.fourmilab.ch/md5/

This is I think the same one as is available on most unix systems and couldn't be easier to use from the command line.

3

+1 on the FCIV. A lot of the google results for when I searched this issue had a lot of third party tools showing up in results, likely because at the time that is all that was available.

MS themselves have developed an "unsupported" tool FCIV and this is what I'd recommend you use, especially if you're a linux/unix guy and used to command line md5 checking

link here:

http://www.microsoft.com/en-us/download/details.aspx?id=11533

my screenshot here:

http://geekswing.com/wp-content/uploads/2014/04/windows_md5sum_sha1_example.jpg

1
3

I always install HashCheck. It integrates in the properties Dialog of the Explorer.

enter image description here

1
  • Love it! I'm half of a mind of changing the accepted answer, except a command line utility is more flexible generally speaking. Jul 16, 2015 at 16:42
2

I use md5deep as it has several practical usability advantages over most of the others listed.

For one it has SHA1 and SHA256 executables in the same package, it also automatically handles directory recursion and it has a matching mode where it will validate that your files are as you left them. And it's a native Windows package so there is no need to install Cygwin if you don't really need it.

2

MS also has a tool called File Checksum Integrity Verifier (FCIV).

0

I install cygwin on all my Windows systems, then I use openssl's built in md5 command.

1
  • I love cygwin, especially as a linux guy. Having all the utilities handy is a bonus. The downside of cygwin: it takes a while to install, and unless you are a linux user, the install can be a bit complicated. Even as a linux user, it can be complicated. Taking the default install on cygwin still takes quite a few steps. For windows users that are more used to downloading a patch from MS and running it, FCIV is faster and easy to use. So specifically just for windows users, I still recommend FCIV. For linux users on windows, definitely agree on cygwin
    – ben
    Jun 9, 2014 at 17:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .