Sometimes, when you download a file on the Internet (program, image, etc.), you might get another file with it, with a md5 file extension (ex: myfile.iso and myfile.iso.md5). If you don’t know what to do with this file, you’re at the good place, I’ll explain everything in this article.
An MD5 file is a method to verify that a downloaded file is complete. As the MD5 algorithm is fast, it’s possible to create an MD5 checksum in a few seconds. Then, by comparing this checksum to the original one, we can tell whether the file download is complete and identical or not.
In this article, I will start by giving you more details about this procedure, then we’ll see how to open the MD5 file and finally, how to create your MD5 checksum on any system.
What is an MD5 file?
The MD5 file role
In general, a MD5 file contains only one MD5 hash. This hash is the fingerprint of a bigger file, generated with the md5sum program. As you might know, the MD5 algorithm is not perfect, but it always gives the same result for a specific input. If input doesn’t change, the output will always be the same hash.
If you encrypt the word “md5online” with the MD5 algorithm, you’ll get “d3c8e06e57cc1af7ebdba01427e62bc2”, whatever the computer you use, time of day or whatever.
That’s what we call an MD5 hash, it’s composed of 32 hexadecimal characters.
The good news is that it not only works on string inputs, but you can also use it on file.
If you are not certain if two files are identical, that’s a good way to check:
- If the MD5 checksum of two files doesn’t give the same result, the two files are different
- If it’s identical, the two files are probably the same.
The MD5 algorithm has collisions, but if they have the same name and size too, you can consider they are identical.
So, basically the role of the MD5 file is to give us a way to check if the file downloaded is the same as the original or not. If the checksum of the downloaded file is the same as in the MD5 file, it’s good, you can be confident your download is OK.
Is there always a MD5 file for any download?
No, an MD5 file is not mandatory. But as a general rule, the software editors always provide a MD5 checksum of their downloads, one way or another.
It can be a MD5 file, a MD5 hash displayed on the website or even another algorithm.
MD5 file example
Let’s take an example to make this even more clear. When you download LibreOffice (an open-source alternative to Microsoft Office), you can find something like this:
As you can see, this page will give you several information:
- The main file name: LibreOffice_7.1.2_Win_x65.msi
- The file size: 313M
- The MD5 hash: 41025413dc1c3f49816d4b7578ca55ec
- And if you click on “MD5 hash”, there is a file named LibreOffice_7.1.2_Win_x64.msi.md5.
That’s the MD5 file we are talking about in this article.
- They also give the hash for other algorithms like SHA-1 and SHA-256
Once you have everything, the next steps are to open the MD5 file and compare the checksum of the download file.
How to open an MD5 file?
An MD5 file is generally a text file, containing only one MD5 hash. This is the MD5 checksum of the original file and you can open the MD5 file with any text editor.
On my example, there is no need to open this file, as the MD5 checksum is displayed directly on the website. But let’s pretend you only have the .msi and the .md5 file.
How to open the MD5 file?
- On Windows, you can use the default notepad or any other text editor (VS Code, Notepad++, etc.).
Double-click on the MD5 file, and choose the application you want to use in the popup menu.
For my LibreOffice example, I get something like that:
- Same thing on Linux and macOS. Any text editor will do the job (Vim, Nano, Geany, etc.).
You can also use Linux commands like “cat” or “more”, for example:
So, opening an MD5 file is pretty simple.
It was your original question, but I’m pretty convinced that what interested you was how to check if your downloaded file is complete. We’ll get to that right now!
How to check the MD5 checksum?
Once the MD5 file opened, the last step is to compare the MD5 checksum to the MD5 hash included in this file.
To do this, we need a small application, named “md5sum” on Linux but also available on any system.
On Linux / macOS
Let’s start with Linux as I already told you the answer 🙂
Here is how to check the MD5 checksum:
- Download the main file (ex: LibreOffice MSI)
- Download the MD5 file, or get the MD5 hash directly on the website
- Open a terminal, and go to your Downloads folder. Example:
- Use the md5sum command like this:
md5sum <filename>For example:
- The result of the md5sum command should be the same as what’s in the MD5 file.
I have tested it on my Raspberry Pi, here is the result:
Perfect, my download is conformed 🙂
On Windows, there is no way to do MD5 checksum natively. You’ll need to install a software to do this.
An idea could be to install the Linux bash and follow the Linux procedure.
But I suppose most of you will prefer a small application to do this.
Download the main file and the MD5 file, then follow this procedure:
- There are many applications that do the same thing, but here is one I have tested: MD5 & SHA Checksum Utility
- Download the program on CNET
- Double-click on the downloaded file to start it.
You’ll need the .NET Framework to use it. Windows can install it automatically if you don’t have it yet.
- Click on “Browse” to find the main downloaded file.
In a few seconds, it’ll generate all the different hashs (MD5, SHA-1, SHA-256 and SHA-512)
- You can even paste the MD5 hash you have in the MD5 file (or website) to confirm everything is OK.
That’s not the most beautiful tool, but it works pretty well.
There are also a few tools online to open an MD5 file or do a quick checksum.
Depending on your environment, this can be useful. But the downside is that you’ll need to upload the files on the website. If your file is big, that’s not really the best way.
Anyway, you can for example check the OnlineMD5 website here that will do everything for you:
I hope this tutorial was useful to you, feel free to share it if it’s the case, it helps me a lot.
Good luck with your MD5 files!