Some software developers compile a single executable (.EXE or .DLL file) that will run on both platforms — 32-bit and 64-bit systems. However, many of them compile separate executables (.exe) to run in 32-bit (x86) and 64-bit (x64) systems. The 64-bit version of the program is usually denoted by suffixing
x64 with the filename — e.g., sigcheck.exe vs. sigcheck64.exe.
In some cases, the bitness notation may be missing, and you may be wondering if the executable is 32-bit or 64-bit. This article discusses various methods to find out if a program or executable file is 32-bit or 64-bit in Windows.
Find Out if a Program (.exe file) is 32-bit or 64-bit
Using Task Manager
32-bit programs can run seamlessly on a Windows 64-bit Operating System using the WOW64 x86 emulator. But it won’t work the other way around. Running a 64-bit application on Windows 32-bit causes the following error(s):
This version of [program.exe] is not compatible with the version of Windows you’re running. Check your computer’s system information to see whether you need a x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher
program.exe is not a valid win32 application
You can find the bitness of each running program in the Task Manager Details tab.
- Open Task Manager and select the Details tab.
- Right-click on the column header and click Select columns. The column header is the row that has the caption for each column, such as Name, PID, Status, etc.
- Enable the Platform checkbox and click OK.
In this example, I’ve opened both versions of Notepad.exe — one from
Windows\System32, and the other (32-bit version) from
Windows\SysWOW64. The Platform column in Task Manager shows the bitness of each executable.
However, this method works only for executable files, but not for DLLs. Moreover, the program needs to be running for you to check the details in Task Manager. Unlike GUI, command-line programs usually run and quit after finishing the task, before you can check the process details in Task Manager.
Open the .exe file using Notepad to check its headers
Another way to find out the bitness of an executable is by opening it using Notepad, Notepad++, or any other text editor. After you open the binary file in Notepad, use the Find option to look for the 1st occurrence of the word
The letter that follows the
PE header tells you if the file is 32-bit or 64-bit.
- 32-bit (x86) programs would have
PE Las the header.
- 64-bit (x64) programs would have
PE d†as the header.
You can see that the sigcheck.exe (32-bit) program has the
PE L header, and its 64-bit version sigcheck64.exe has the
PE d† header.
If the size of the binary file is huge, Notepad will hang or take more time to open the binary file. In that case, you can use Notepad++.
However, make sure that you don’t alter or save the executable file using your Text Editor, as doing so would corrupt the executable. Corrupted executables cause the following error when they’re launched:
This app can’t run on your PC. To find a version for your PC, check with the software publisher.
So, as always, backup the original executable before viewing it in a text editor.
Using Sigcheck from Microsoft SysInternals
Sigcheck is a command-line utility from Microsoft Windows SysInternals that shows the file version number, timestamp information, and digital signature details, including certificate chains. To output also shows the bitness of the executable.
Sigcheck v2.54 - File version and signature viewer Copyright (C) 2004-2016 Mark Russinovich Sysinternals - www.sysinternals.com c:\windows\notepad.exe: Verified: Signed Signing date: 11:14 AM 6/21/2019 Publisher: Microsoft Windows Company: Microsoft Corporation Description: Notepad Product: Microsoft« Windows« Operating System Prod version: 10.0.18362.1 File version: 10.0.18362.1 (WinBuild.160101.0800) MachineType: 64-bit
Using MiTec EXE Explorer
MiTec EXE Explorer is a third-party program that reads and displays executable file properties and structure. It is compatible with PE32 (Portable Executable), PE32+ (64bit), NE (Windows 3.x New Executable) and VxD (Windows 9x Virtual Device Driver) file types. .NET executables are supported too.
One small request: If you liked this post, please share this?One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:
- Pin it!
- Share it to your favorite blog + Facebook, Reddit
- Tweet it!
About the author
Ramesh Srinivasan founded Winhelponline.com back in 2005. He is passionate about Microsoft technologies and he has been a Microsoft Most Valuable Professional (MVP) for 10 consecutive years from 2003 to 2012.