32 or 64 bit: which download do you need?
Take the 64-bit build. That is the answer for almost everybody, and the ten-second check below confirms it. The parts worth reading are the two that trip people up: why a program still offers a 32-bit build, and why installing only the 64-bit runtime breaks things.
Checking which one you have
- Settings, no commands
Open Settings, go to System, then About, and read the line called System type. It tells you both things at once: the Windows you are running and the processor you have.
- PowerShell, one line
[Environment]::Is64BitOperatingSystemReturns True or False. Use this one in a script: it is a boolean and does not change with the language of your Windows.
- PowerShell, human readable
(Get-CimInstance Win32_OperatingSystem).OSArchitectureFine to read, poor to script against, because the string is translated. On a Spanish install it answers "64 bits", not "64-bit".
x86 means 32-bit, which is nobody's fault and everybody's problem
Download pages label the 32-bit build x86 and the 64-bit build x64. The naming is historical rather than logical: x86 is the old Intel processor family, and the label stayed on 32-bit software long after the processors moved on.
So a download offering x86 and x64 is offering 32-bit and 64-bit, in that order, and a folder called Program Files (x86) on your disk is where 64-bit Windows keeps 32-bit programs. Nothing is wrong.
A 32-bit program on a 64-bit machine is normal
64-bit Windows has run 32-bit software since the beginning, and plenty of actively maintained programs ship 32-bit only because there is no reason for them to be otherwise. Seeing one install into Program Files (x86) is not a sign you downloaded the wrong thing.
The one real limit is memory. A 32-bit program cannot address more than about 4 GB whatever the machine has, which matters if you edit very large files or work with big datasets, and does not matter at all for most software.
This is why you install both Visual C++ redistributables
A 32-bit program needs the 32-bit runtime, even on 64-bit Windows, because the two are separate installs that live side by side. Installing only the x64 package and then hitting a missing DLL error on a program that used to work is one of the most common false alarms there is. Which Visual C++ package contains which file covers the rest.
Common questions
- How do I know if my Windows is 32 or 64 bit?
- Settings, System, About, and read System type. From PowerShell, [Environment]::Is64BitOperatingSystem answers True or False in one line. Avoid scripting against OSArchitecture: it returns a translated string, so on a Spanish install it says "64 bits" rather than "64-bit".
- Which build should I download?
- The 64-bit one, unless your Windows says it is 32-bit, in which case the 64-bit build simply will not run. That is the whole rule for almost everyone. If a publisher offers only a 32-bit build, take it: it runs on 64-bit Windows perfectly well.
- Why does a program say x86 when I have a 64-bit PC?
- Because x86 means 32-bit. The name comes from the old Intel processor line and stuck, so downloads get labelled x86 for 32-bit and x64 for 64-bit. It is confusing and it is not a mistake on the publisher’s part.
- Is it bad to run a 32-bit program on 64-bit Windows?
- No. 64-bit Windows runs 32-bit software through a compatibility layer that has been there since Windows XP, and plenty of well-maintained programs still ship 32-bit only. The practical limit is memory: a 32-bit program cannot use more than about 4 GB no matter how much the machine has, which matters for editing large files and not much else.
- What about ARM64?
- Windows on ARM machines run x64 software through emulation, so an ordinary download works, just slower and with heavier battery use. Where a publisher ships a native ARM64 build it is the better choice, and we list it alongside the others with its own hash when the manifest declares one.
- Do I need both the 32-bit and 64-bit Visual C++ redistributables?
- Usually yes, and this is the practical consequence of all of the above. A 32-bit program needs the 32-bit runtime even on 64-bit Windows, so installing only the x64 package leaves half your software unable to start. It is the most common cause of a missing DLL error on an otherwise healthy machine.
Every build, with its own hash
Publishers ship separate files per architecture and each one has a different SHA-256, so the hash you check has to be the one for the build you took. Every program indexed here lists its x64, x86 and ARM64 installers separately, with the official URL and hash for each.