How to Check Your .NET Framework Version (All Methods Explained)

If a program refuses to install, throws a compatibility error, or your IT documentation asks for your .NET Framework version, knowing how to find it quickly is genuinely useful. The process isn't complicated — but there are several ways to do it, and the right method depends on what you're working with and how much detail you need.

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

.NET Framework is a software platform developed by Microsoft that many Windows applications rely on to run. Think of it as a shared engine that programs tap into rather than building everything from scratch themselves. Applications built on .NET need a compatible version of that framework installed on your machine to function correctly.

Microsoft has released numerous versions over the years — from 1.0 through to 4.8 — and multiple versions can coexist on a single Windows installation. A program built for .NET 3.5 won't necessarily run on 4.0 alone, which is why knowing exactly what's installed matters when troubleshooting or installing new software.

It's also worth knowing that .NET Framework (Windows-only, versions up to 4.8) is distinct from .NET (formerly .NET Core), which is cross-platform and follows a separate versioning track — 5, 6, 7, 8, and beyond. The methods below cover both, since many users encounter one or the other depending on their software stack.

Method 1: Check via the Windows Registry 🔍

This is the most reliable and complete method for checking all installed .NET Framework versions.

  1. Press Windows + R, type regedit, and hit Enter
  2. Navigate to: HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDP
  3. Expand the folder — you'll see subfolders labeled by version (e.g., v3.5, v4)
  4. Click each version folder and look for a Version or Release value in the right pane

For .NET Framework 4.5 and later, the version is stored as a Release DWORD value rather than a plain version string. Microsoft publishes a mapping table linking Release numbers to specific versions (for example, a Release value of 528040 corresponds to .NET Framework 4.8 on Windows 10).

Why use this method: It shows every installed version in one place and gives you the most granular detail, including sub-versions.

Method 2: Use PowerShell (Fast and Scriptable)

PowerShell gives you a clean, readable output without navigating the registry manually.

Open PowerShell and run:

Get-ChildItem 'HKLM:SOFTWAREMicrosoftNET Framework SetupNDP' -Recurse | Get-ItemProperty -Name Version, Release -ErrorAction SilentlyContinue | Where-Object { $_.PSChildName -match '^(?!S)p{L}'} | Select-Object PSChildName, Version, Release 

This returns a list of all installed .NET Framework versions with their version numbers and release codes. It's particularly useful if you're checking multiple machines or want to log the results.

For .NET (Core/5+), use a separate command:

dotnet --list-runtimes 

Or for the SDK versions:

dotnet --list-sdks 

Method 3: Check via Command Prompt

If PowerShell isn't your preference, the Command Prompt offers a simpler approach for .NET (Core/5+):

dotnet --version 

This returns the default SDK version currently active. To see all installed runtimes:

dotnet --info 

Note: These commands only work if .NET (Core/5+) is installed and in your system PATH. For the older .NET Framework, the registry method is more reliable.

Method 4: Use a Third-Party Tool

Several free utilities can detect and display installed .NET versions without requiring any command-line work. Tools like Belarc Advisor or dedicated .NET version checkers scan your system and present results in a readable format.

These are useful for less technical users or when you want a quick visual confirmation without opening the registry or running scripts.

Understanding the Version Landscape

FrameworkVersionsPlatformStill Supported
.NET Framework1.0 – 4.8.xWindows only4.8.x only
.NET (Core/5+)5, 6, 7, 8, 9Cross-platformVaries by version

A few important distinctions:

  • .NET Framework 3.5 is still bundled with Windows and can be enabled via Windows Features — it doesn't always appear as a traditional install
  • .NET Framework 4.x versions are largely backward compatible within the 4.x family, but not across major version gaps
  • .NET 6 and .NET 8 are Long-Term Support (LTS) releases, meaning they receive updates for an extended period — relevant if you're managing software dependencies

Variables That Affect What You'll Find

The version results you get depend on more than just clicking a button. Several factors shape what's actually on your system:

  • Windows version — older versions of Windows ship with or support only certain .NET Framework releases
  • How software was installed — some applications quietly install the .NET version they need; others rely on what's already present
  • System administrator policies — on managed enterprise machines, .NET installations may be controlled centrally
  • Developer environments — if you work with Visual Studio or development tools, you may have multiple SDKs and runtimes installed simultaneously, which can create conflicting defaults

When Multiple Versions Are Installed 🖥️

Finding three, four, or even more .NET-related entries on your system is completely normal. Windows does not automatically remove older versions when newer ones are installed, and some applications explicitly require an older runtime.

The practical implication: if a program lists a specific .NET requirement in its documentation, you need to confirm that exact version or compatible version is present — not just that some version of .NET exists on the machine.

What that means for your situation specifically depends on the software you're running, whether you're on a personal machine or a managed environment, and whether you're dealing with the legacy .NET Framework track or the newer cross-platform .NET. Those details are what turn a general process into the right answer for your setup.