Windows Error Code Lookup

Paste any Windows error code, blue-screen stop code or error name and see what it means, which part of Windows raised it, and what to try. Covers Win32, HRESULT, NTSTATUS, Windows Update, upgrade and activation codes.

Lookup Utilities Updated Oct 14, 2026
How to Use
  1. Type or paste the code exactly as Windows showed it: 0x80070005, 80070005, a negative number from PowerShell such as -2147024891, a name like CRITICAL_PROCESS_DIED, or words such as “disk full”.
  2. Press Look up (or Enter). Every table the number appears in is listed, with Microsoft’s own name and message, and the bar diagram shows how the 32 bits split into severity, facility and code.
  3. If the code came from a blue screen, choose Stop code; small numbers such as 0x7E mean different things as a stop code and as a Win32 error.
  4. For an upgrade failure, paste both parts, as in 0xC1900101 - 0x4000D: the part after the dash says in which phase of Setup it failed.
  5. Read What to try for the steps, in order. Click any value to copy it, or Copy result for the whole decode.
Error code
hex, decimal or negative
Loading Microsoft’s error tables…
Presets
Names and messages: Microsoft [MS-ERREF] (Win32, HRESULT, NTSTATUS), the Bug Check Code Reference, and Microsoft Learn’s Windows Update, upgrade and activation error lists, downloaded 2026-10-14; plus the message tables built into Windows 11.
Code anatomy
Name
—
Kind
—
Facility
—
Code
—

Worked Example

0x80070643, a failed Windows Update. In binary the top hex digit 8 is 1000, so the severity bit S is 1 (failure) and the other four flag bits are 0. The facility is bits 16–26: 0x007 = 7, FACILITY_WIN32, which Microsoft reserves for Win32 errors wrapped as HRESULTs. The code is the low 16 bits, 0x0643 = 6 × 256 + 4 × 16 + 3 = 1603, ERROR_INSTALL_FAILURE, “Fatal error during installation”: a Windows Installer package failed.

−2147024891 from PowerShell. .NET prints HRESULTs as signed numbers, so add 232 = 4,294,967,296: the result is 2,147,942,405 = 0x80070005. Facility 7 again, code 5: ERROR_ACCESS_DENIED.

The common mistake: looking up a blue-screen code as an error code. A crash logged as “0x0000007E” looked up as a Win32 error gives 126, ERROR_MOD_NOT_FOUND, “The specified module could not be found”, which sends you hunting for a missing DLL. As a stop code, 0x7E is SYSTEM_THREAD_EXCEPTION_NOT_HANDLED: a driver crashed. Small numbers live in several tables, so this tool lists every reading and lets you pick Stop code.

Show Work

Enter a code to see how it is decoded.

Bit Layouts and Formulas

HRESULT (32 bits)
S R C N X | facility 11 | code 16
S = 1 for failure; facility = (v >> 16) AND 0x7FF; code = v AND 0xFFFF ([MS-ERREF] 2.1)
NTSTATUS (32 bits)
Sev 2 | C | N | facility 12 | code 16
Sev 0 success, 1 information, 2 warning, 3 error, so errors start with 0xC ([MS-ERREF] 2.3)
Win32 inside an HRESULT
0x80070000 OR win32
HRESULT_FROM_WIN32: error 5 becomes 0x80070005, 1603 becomes 0x80070643
NTSTATUS inside an HRESULT
status OR 0x10000000
The N bit: 0xC0000005 becomes 0xD0000005
Negative to hex
v = n + 232 when n < 0
−2147024891 + 4294967296 = 2147942405 = 0x80070005
Setup extend code
0xPXXOO: phase P, operation OO
0x4000D: phase 4 OOBE_BOOT, operation 0x0D MIGRATE_DATA (Microsoft upgrade error codes)

Most Common Windows Error Codes

The codes below are the ones people search for most. Each opens in the lookup above with its fixes.

CodeWhat it meansWhere you see it
0x80070005Access deniedWindows Update, Microsoft Store, app installers, activation, scripts and backup tools.
0x80004005Unspecified errorWindows Update, shared folders and network drives, ZIP extraction, virtual machines, Outlook.
0x80070002File not foundWindows Update (a downloaded package was removed or never finished), backups, app installs.
0x80070070Disk fullFeature updates and upgrades (they need tens of GB free), large downloads.
0x80070422Service disabledWindows Update, Microsoft Store and Windows Firewall, often after a “debloat” or privacy tool turned services off.
0x80070643Installation failed (MSI 1603)Windows Update (Defender, .NET and Office updates), app installers. In January 2024 it was widely reported for the Windows Recovery Environment update KB5034441 on PCs whose recovery partition was too small.
0x80073712Component store corruptedWindows Update, enabling optional features, DISM.
0x800F081FSource files not foundDISM /RestoreHealth, enabling .NET Framework 3.5 or other optional features, Windows Update.
0x800F0922Update installers failedWindows Update (cumulative updates, feature updates), enabling .NET 3.5.
0x80072EFDCannot connect to the serverWindows Update, Microsoft Store, Xbox app, activation.
0x80072F8FSecure connection failed (often the clock)Windows Update, Microsoft Store, activation, especially on PCs whose clock is wrong or on old Windows versions.
0xC1900101Upgrade rolled back (driver problem)Feature updates and Windows 10 → 11 upgrades, often with “We couldn’t install Windows 11”.
0xC1900200PC does not meet the requirementsUpgrading to Windows 11 (or old PCs to Windows 10).
0xC004F074No KMS server could be contactedSettings → Activation; work PCs off the company network; home PCs that were “activated” with a KMS tool or a key from an unofficial seller.
0xC000007BApplication was unable to start (bad image)“The application was unable to start correctly (0xc000007b)”, mostly games and older software.
0x0000000ABlue screen: IRQL_NOT_LESS_OR_EQUALBlue screen, often during gaming, networking or right after a driver update.
0x000000D1Blue screen: DRIVER_IRQL_NOT_LESS_OR_EQUALBlue screen naming a .sys file, for example ndis.sys or a Wi-Fi driver.
0x0000003BBlue screen: SYSTEM_SERVICE_EXCEPTIONBlue screen, frequently naming a graphics driver or antivirus file.
0x00000050Blue screen: PAGE_FAULT_IN_NONPAGED_AREABlue screen, sometimes at start-up after an update.
0x0000007EBlue screen: SYSTEM_THREAD_EXCEPTION_NOT_HANDLEDBlue screen, often naming a graphics driver (nvlddmkm.sys, atikmdag.sys) during start-up or updates.
0x000000EFBlue screen: CRITICAL_PROCESS_DIEDBlue screen, sometimes in a boot loop.
0x00000133Blue screen: DPC_WATCHDOG_VIOLATIONBlue screen, often after connecting a new SSD or updating Windows.
0x00000124Blue screen: WHEA_UNCORRECTABLE_ERRORBlue screen under load (games, rendering), or after enabling an overclock or XMP/EXPO.

Why Windows Has Four Kinds of Error Code

Windows grew its error codes in layers. The Win32 API returns small numbers from GetLastError(): 2 is file not found, 5 is access denied, 112 is disk full. COM, introduced with OLE 2 in 1993, needed codes that also said which subsystem failed, so it packed a severity bit, a facility number and a 16-bit code into one 32-bit HRESULT. Facility 7 was set aside for Win32 errors, which is why so many codes start 0x8007. The Windows NT kernel and drivers use a third layout, NTSTATUS, whose top two bits give the severity, so kernel errors start with 0xC. Microsoft publishes all three tables in the open specification [MS-ERREF].

The fourth kind is the bug check, or stop code, shown on the blue screen. It is not an error returned to a program: it is the reason Windows halted the whole system, and it comes with four parameters whose meaning depends on the code. Microsoft’s Bug Check Code Reference lists 379 of them. A few numbers appear in more than one table: 0xC000021A is both an NTSTATUS value and the stop code shown when Winlogon or csrss dies, and stop codes with 0x10000000 added, such as 0x1000007E, mean the same as the code without it.

Some components define their own ranges inside the HRESULT space: Windows Update uses facility 36 (0x8024xxxx), the servicing stack that installs updates uses 0x800Fxxxx (CBS_E_* codes), Windows Setup reports 0xC19xxxxx results plus an extend code, and activation uses 0xC004xxxx. Their names come from Microsoft’s Windows Update, upgrade and activation troubleshooting pages rather than [MS-ERREF].

About This Tool

This lookup checks a number against every published Windows table at once (2,703 Win32 codes, 2,928 HRESULTs, 1,799 NTSTATUS values, 379 bug checks, 256 Windows Update codes, 71 Setup result codes and the activation list) and against about 4,000 further messages read from the message tables built into Windows 11, which cover codes the public lists leave out. It also works out what a code wraps: the Win32 error inside a 0x8007 HRESULT, the NTSTATUS inside a 0xD HRESULT, the phase and operation in a Setup extend code, and the exception code in a blue screen’s first parameter.

For the 67 codes that people run into most, it adds what the code means in practice and the steps to try, in order, based on Microsoft’s own troubleshooting pages. The tables load once from this site and every lookup runs in your browser; nothing you type is sent anywhere. It is for anyone staring at a Windows Update failure, a blue screen or an app that will not start, and for developers decoding an HRESULT from a log.

Related tools: Explain This Error, Number Base Converter, and HTTP Status Codes.

Frequently Asked Questions

What does error 0x80070005 mean?

Access denied. 0x8007 marks an HRESULT that wraps an ordinary Win32 error, and the last four hex digits, 0005, are Win32 error 5, ERROR_ACCESS_DENIED: something tried to change a file, folder, registry key or service it had no permission for. Run the installer or Command Prompt as administrator, check antivirus and Controlled folder access, and for Windows Update look in CBS.log for the object that was refused.

What does the 0x8007 at the start of an error code mean?

It is the HRESULT form of a Win32 error. The 8 sets the failure bit and 007 is facility 7, FACILITY_WIN32, so the last four hex digits are the original Win32 error number. 0x80070643 is 0x643 = 1603, ERROR_INSTALL_FAILURE, and 0x80070070 is 112, ERROR_DISK_FULL.

Why does PowerShell show my error code as a negative number?

PowerShell and .NET store HRESULTs as signed 32-bit integers, so any code from 0x80000000 up prints as negative. Add 4,294,967,296 (232) to get the unsigned value: −2,147,024,891 + 4,294,967,296 = 2,147,942,405, which is 0x80070005. Paste the negative number here and it is converted for you.

How do I find my blue screen stop code after Windows restarts?

Open Event Viewer → Windows Logs → System and look for Event ID 1001 from the source BugCheck: it reads “The bugcheck was: 0x0000007e (…)”, with the four parameters. Reliability Monitor (perfmon /rel) shows the same crashes on a timeline, and the dump files are in C:\Windows\Minidump.

What is the difference between Win32, HRESULT and NTSTATUS codes?

Win32 error codes are small numbers (0 to 65,535) returned by Windows API functions, such as 5 for access denied. HRESULTs are 32-bit values used by COM, .NET and most Windows components, with a severity bit, an 11-bit facility and a 16-bit code. NTSTATUS values come from the kernel and drivers; errors start with 0xC, as in 0xC0000005. One problem can appear in all three forms: access denied is 5, 0x80070005 and 0xC0000022.

How do I use the Windows Error Code Lookup?

Simply type your numbers and read the result, which refreshes the instant you change something. There is nothing to submit and nothing to wait for.

Do I need to install or sign up for anything?

Not at all — it runs in the browser with nothing to install and no account. After it loads once, it even works without an internet connection.

Is my information private?

Yes. Everything happens in your browser. Nothing you type is sent to a server or saved anywhere.

Common Use Cases

A Windows Update keeps failing

0x800F0922 is CBS_E_INSTALLERS_FAILED: the update rolled back. Disconnecting a VPN, freeing the system partitions and running DISM /RestoreHealth fix most cases.

A Windows 11 upgrade rolls back

0xC1900101 - 0x4000D decodes to phase 4 (SP_EXECUTION_OOBE_BOOT) and operation 0x0D (MIGRATE_DATA): a driver failed on the second restart, so update or unplug the device and run SetupDiag.

Reading a blue screen from Event Viewer

“The bugcheck was: 0x0000007e (0xffffffffc0000005, …)” is SYSTEM_THREAD_EXCEPTION_NOT_HANDLED; parameter 1, 0xC0000005, is an access violation inside a driver.

Script and .NET errors

A PowerShell catch block prints HResult −2147024894. Add 232 to get 0x80070002, Win32 error 2: the file was not found.

An app will not start

0xC000007B is STATUS_INVALID_IMAGE_FORMAT: a 64-bit program loaded a 32-bit DLL or the reverse. Installing both x64 and x86 Visual C++ Redistributables fixes most cases.

Activation errors

0xC004F074 on a home PC means it holds a volume (KMS) key with no company server to reach; it needs a retail key, not a retry.

Last updated: