Find Out if a Program (.EXE or .DLL) is 32-bit or 64-bit

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 64 or 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.

  1. Open Task Manager and select the Details tab.
  2. 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.
    find out if exe is 32-bit or 64-bit
  3. 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.

find out if exe is 32-bit or 64-bit

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 PE.

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 L as the header.
  • 64-bit (x64) programs would have PE d† as the header.

find out if exe is 32-bit or 64-bit

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.

find out if exe is 32-bit or 64-bit

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.

Examples:

sigcheck.exe c:\windows\system32\shell32.dll
sigcheck.exe C:\Windows\Notepad.exe

Output:

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.

find out if exe is 32-bit or 64-bit

find out if exe is 32-bit or 64-bit


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!
So thank you so much for your support, my reader. It won't take more than 10 seconds of your time. The share buttons are right below. :)

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.

Leave a Comment