How to Check Your .NET Framework Version Using CMD

Knowing which version of the .NET Framework is installed on your Windows machine matters more than most people realize. Software installers check for it, developers depend on it, and troubleshooting errors often starts here. The good news: you can find this information directly from the Windows Command Prompt without installing anything extra.

What Is the .NET Framework and Why Does the Version Matter?

The .NET Framework is a software development platform built into Windows. It provides the runtime environment and libraries that countless Windows applications — from enterprise tools to small desktop utilities — rely on to run. Microsoft has released multiple major versions over the years, each adding capabilities and changing how applications behave.

When an application requires .NET Framework 4.7.2 and your system only has 4.5, things break. Version mismatches are one of the most common causes of installation failures and runtime errors on Windows machines. Knowing exactly what's installed lets you diagnose problems accurately and decide whether an update is needed.

How to Check the .NET Framework Version via CMD 💻

The Command Prompt doesn't have a single built-in command that directly outputs your .NET version — but it can query the Windows Registry, where .NET installation data is stored.

Method 1: Query the Registry Using reg query

Open Command Prompt (search for cmd in the Start menu) and run:

reg query "HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDP" /s 

This returns a list of all .NET Framework versions installed. You'll see output organized by version folders like v2.0, v3.0, v3.5, v4, and under v4, subkeys like Full and Client.

To narrow it down to .NET Framework 4.x specifically, run:

reg query "HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDPv4Full" /v Release 

The key value you're looking for is Release. This returns a numeric code, not a plain version number. You'll need to cross-reference that number against Microsoft's release table.

Decoding the Release Number

Release Value.NET Framework Version
3783894.5
3798934.5.2
3932954.6
3948024.6.2
4607984.7
4618084.7.2
5280404.8
5333204.8.1

A Release value of 528040 or higher confirms .NET Framework 4.8 or later is present.

Method 2: Check Older Versions (1.x through 3.5)

For older .NET versions, the registry path is slightly different. Run:

reg query "HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDP" /s /v Version 

This surfaces version strings directly for earlier installations like v2.0.50727 or v3.5. These older runtimes are sometimes installed alongside newer ones — they serve different applications and don't replace each other.

.NET Framework vs. .NET (Core) — An Important Distinction 🔍

Starting with .NET 5, Microsoft unified its platform under a new naming scheme simply called .NET (dropping "Framework" and "Core"). This is a separate runtime from the classic .NET Framework.

If you're looking for .NET 5, 6, 7, 8, or later, use:

dotnet --version 

Or for all installed SDK and runtime versions:

dotnet --list-runtimes dotnet --list-sdks 

These commands only work if the .NET CLI is installed. The classic reg query method won't surface these newer runtimes, and dotnet --version won't show classic .NET Framework versions. They're different products living in different places on your system.

What Affects Which Version You Have

Not every Windows system has the same .NET versions installed, and several factors determine what you'll find:

  • Windows version: Older versions of Windows ship with older .NET Framework versions baked in. Windows 10 and 11 typically include .NET Framework 4.8 or 4.8.1 out of the box.
  • Manual installations: Developers and software installers frequently add specific versions without user awareness.
  • Enterprise imaging: In managed IT environments, system images may include or exclude specific runtimes based on policy.
  • Side-by-side installations: Multiple .NET Framework versions can coexist. Finding v4.8 doesn't mean v3.5 isn't also present — many legacy applications still require it.
  • Windows Features settings: .NET Framework 3.5 (which includes 2.0 and 3.0) is available on modern Windows but may need to be enabled through Windows Features rather than installed as a standalone package.

Reading Your Output Accurately

When you run the registry query, the output can look dense. The most reliable signal for modern systems is the Release DWORD value under the Full subkey of v4. If that key doesn't exist at all, .NET Framework 4.x isn't installed.

For versions below 4.x, look for the Version string values directly under each version subkey. A version string like 3.5.30729.4926 confirms .NET 3.5 is present.

One common source of confusion: seeing both a Client and a Full subkey under v4. The Full profile is the complete installation. The Client profile was a lighter subset used in older releases and is largely irrelevant on modern systems.

The Variable That Determines What You Need Next ⚙️

The version you find in CMD is just data. What it means for your situation depends on what you're trying to run, build, or fix — and whether the application in question targets the classic .NET Framework, the newer unified .NET platform, or a specific minor release within either. That part of the equation is specific to your setup and the software involved.