ShellEx.info
SX
ShellEx.info · About

How to Fix shellex.dll Crashes and Slow Context Menus in Windows 11/10

Updated February 2026, Windows 11 24H2

A slow right-click menu or an Explorer hang is often a bad shell extension: a DLL loaded into explorer.exe. Vendors use all kinds of filenames; shellex.dll is the generic name people search for, not one universal file.

This guide covers diagnosis and cleanup for both buggy legitimate handlers and suspicious shellex.exe / shellex.dll copies. Start with ShellExView. Dig into registry and malware checks only if you need them.


What Are Shell Extensions, Exactly?

A shell extension is a DLL loaded into Windows Explorer (explorer.exe). It adds features such as:

Every time you open a folder, right-click a file, or even just hover over an icon, dozens of shell extension DLLs execute inside explorer.exe. If even one of them is buggy, slow, or malicious, it can slow Explorer to a crawl.

Where Do They Come From?

Shell extensions are registered by almost every desktop application you install:

ApplicationExtensions RegisteredType
Dropbox5-7Icon Overlays, Context Menu
Google Drive5-6Icon Overlays, Context Menu
OneDrive5+Icon Overlays, Property Sheets
TortoiseSVN / TortoiseGit9-12Icon Overlays, Context Menu
NVIDIA Control Panel1-2Context Menu
7-Zip1Context Menu
WinRAR1Context Menu
Antivirus software2-5Context Menu, Copy Hooks
Adobe Creative Suite3-5Property Sheets, Thumbnails

The problem arises when you uninstall an application but its shell extension DLL remains registered in the registry, or when a legitimate extension has a memory leak, deadlock, or simply takes too long to respond.


⚠️ Is shellex.dll a Virus?

The term “shellex” is short for Shell Extension. It is a core part of the Windows API that allows software to add items to your right-click menu, property sheets, and icon overlays.

However, malware authors often use names like shellex.dll or shellex.exe to blend in with legitimate system components:

Quick Malware Check

Open Task Manager (Ctrl+Shift+Esc) and look for any process named shellex:

  1. Right-click the process → Open file location.
  2. If the file is in System32, Program Files, or a known app’s folder → likely legitimate.
  3. If it is in AppData\Local\Temp, Downloads, or any random folder → treat as malicious.

Security Tip: If you see shellex.exe running from AppData or Temp, run a scan with Malwarebytes or Avast immediately. Do not try to manually delete it first, malware often has file-locking mechanisms that prevent deletion.


Symptoms of Bad Shell Extensions

If you are experiencing any of the following, you likely have a shell extension conflict:

  1. Right-click lag: The context menu takes 2-10 seconds (or more) to appear.
  2. Explorer crashes: explorer.exe restarts when you open a folder or right-click a file. You may see the taskbar disappear and reappear.
  3. File locking: You cannot delete, move, or rename a file because “it is open in another program” (even when it is not).
  4. Ghost icons: File icons disappear, show incorrect thumbnails, or display generic white rectangles.
  5. High CPU/Memory: explorer.exe uses 15-50% CPU or 500MB+ RAM continuously.
  6. Slow folder loading: Opening folders with many files takes 5-30 seconds, especially on the first access.
  7. “Show more options” freeze: On Windows 11, clicking “Show more options” in the context menu causes a 3-5 second hang.
  8. Blue Screen (rare): In extreme cases, a kernel-mode shell extension can cause a BSOD with SYSTEM_SERVICE_EXCEPTION or KERNEL_DATA_INPAGE_ERROR.

How to Confirm It Is a Shell Extension

A quick way to verify is to boot into Safe Mode (which loads no third-party shell extensions):

  1. Press Win + R, type msconfig, press Enter.
  2. Go to the Boot tab → Check Safe boot → Select Minimal.
  3. Click OK and restart.
  4. In Safe Mode, try the operation that was failing (right-click, open folder, etc.).
  5. If the problem disappears → a shell extension is the cause.
  6. Remember to uncheck Safe boot in msconfig after testing.

Step 1: Diagnose with ShellExView (The Gold Standard)

ShellExView (NirSoft) is still the fastest way to list, disable, and re-enable registered shell extensions without hand-editing the registry.

Download & Setup

  1. Go to NirSoft ShellExView.
  2. Download the 64-bit version (critical for modern Windows).
  3. Extract the ZIP, no installation needed (portable tool).
  4. Right-click shexview.exe → Run as Administrator (some extensions require admin access to disable).

The Diagnosis Process

Phase 1: Identify Non-Microsoft Extensions:**

  1. Once loaded, click the Company column header to sort by company name.
  2. All entries where “Company” is NOT “Microsoft Corporation” are third-party extensions.
  3. ShellExView highlights these with a pink background by default.

Pro Tip: Microsoft’s own extensions are almost never the cause of crashes or slowdowns. Focus exclusively on third-party entries.

Phase 2: Disable All Third-Party Extensions:**

  1. Click on the first non-Microsoft entry.
  2. Press Ctrl+A to select all, then hold Ctrl and click to deselect Microsoft entries. OR use Options → Hide All Microsoft Extensions for an easier workflow.
  3. With all non-Microsoft entries selected, press F7 (or right-click → Disable Selected Items).
  4. Go to Options → Restart Explorer.

Phase 3: Test:**

  1. Right-click a file. Is the context menu instant?
  2. Open a folder with many files. Does it load quickly?
  3. If yes → one (or more) of the disabled extensions is the culprit.

Phase 4: Isolate the Offender:**

  1. Re-enable extensions one by one (select → press F8 to enable).
  2. Restart Explorer after each re-enable.
  3. When the problem returns → you have found your culprit.

What to Do with the Culprit

ScenarioAction
Extension belongs to an app you still useUpdate the app to the latest version
Extension belongs to an app you uninstalledLeave it disabled, then clean up with Revo Uninstaller
Extension is from an unknown publisherScan the DLL with Malwarebytes, then disable permanently
Extension is unsignedSee our digital signature verification guide

Step 2: PowerShell Quick Diagnostics

If you prefer command-line tools, PowerShell can give you a rapid overview of all registered shell extensions:

List All Context Menu Handlers

Get-ChildItem "Registry::HKCR\*\shellex\ContextMenuHandlers" -ErrorAction SilentlyContinue | ForEach-Object {
    $clsid = $_.GetValue("")
    $name = $_.PSChildName
    $inproc = "Registry::HKCR\CLSID\$clsid\InprocServer32"
    $dll = if (Test-Path $inproc) { (Get-ItemProperty $inproc -ErrorAction SilentlyContinue)."(default)" } else { "N/A" }
    [PSCustomObject]@{ Name = $name; CLSID = $clsid; DLL = $dll }
} | Format-Table -AutoSize

Find Broken (Orphaned) Extensions

Extensions that point to DLLs that no longer exist on disk:

$broken = @()
$paths = @(
    "Registry::HKCR\*\shellex\ContextMenuHandlers",
    "Registry::HKCR\Directory\shellex\ContextMenuHandlers",
    "Registry::HKCR\Folder\shellex\ContextMenuHandlers"
)

foreach ($regPath in $paths) {
    Get-ChildItem $regPath -ErrorAction SilentlyContinue | ForEach-Object {
        $clsid = $_.GetValue("")
        if (!$clsid) { return }
        $inproc = "Registry::HKCR\CLSID\$clsid\InprocServer32"
        if (!(Test-Path $inproc)) { return }
        $dll = (Get-ItemProperty $inproc -ErrorAction SilentlyContinue)."(default)"
        if ($dll -and !(Test-Path $dll)) {
            $broken += [PSCustomObject]@{
                Name = $_.PSChildName
                CLSID = $clsid
                MissingDLL = $dll
            }
        }
    }
}

if ($broken) {
    Write-Host "`n⚠ BROKEN EXTENSIONS (DLL not found):" -ForegroundColor Red
    $broken | Format-Table -AutoSize
} else {
    Write-Host "`n✓ No broken extensions found." -ForegroundColor Green
}

Pro Tip: Orphaned extensions are a very common cause of slow context menus. The shell tries to load a DLL that does not exist, waits for a timeout, and then moves on.


Step 3: Advanced Analysis with Autoruns

If ShellExView does not isolate it, look wider with Sysinternals Autoruns (Explorer tab, plus services and scheduled tasks that might reload a bad DLL).

How to Use Autoruns

  1. Download from Sysinternals.
  2. Run Autoruns64.exe as Administrator.
  3. Navigate to the Explorer tab, this lists every DLL injected into the Windows Shell.
  4. Look for entries highlighted in:
  1. Uncheck items to disable them (changes apply after Explorer restart).

Warning: Be careful not to disable core Windows components (entries from “Microsoft Corporation” or “Microsoft Windows”). Disabling these can make your system unbootable.

Autoruns vs ShellExView

FeatureShellExViewAutoruns
Context Menu Handlers✅ Full list✅
Icon Overlay Handlers✅✅
Property Sheet Handlers✅❌
Scheduled Tasks❌✅
Services❌✅
Boot-time hooks❌✅
Ease of use⭐⭐⭐⭐⭐⭐⭐⭐

Recommendation: Start with ShellExView for shell-specific issues. Use Autoruns if ShellExView does not solve the problem, or if you suspect a deeper system-level issue.


Step 4: Manual Registry Cleanup (Experts Only)

If automated tools fail, you can manually inspect and clean the registry keys where shell extension handlers are registered.

Before proceeding: Create a System Restore Point (Win + R → rstrui.exe → Create a restore point) and export the registry keys you plan to modify.

Key Registry Locations

Context menu handlers for all file types:

HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers

Context menu handlers for directories:

HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers

Context menu handlers for folder backgrounds:

HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers

Icon overlay handlers (global):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

How to Clean

  1. Press Win + R, type regedit, press Enter.
  2. Navigate to one of the paths above.
  3. Expand each subkey, you will see a (Default) value containing a CLSID like {B41DB860-64E4-11D2-9906-E49FADC173CA}.
  4. Search for that CLSID under HKEY_CLASSES_ROOT\CLSID\{...}\InprocServer32 to find the DLL path.
  5. If the DLL path points to a file that does not exist → back up the key (right-click → Export), then delete it.
  6. If the DLL exists but belongs to software you uninstalled → same treatment.

Batch Registry Export (Backup)

Before making changes, back up all relevant keys:

reg export "HKCR\*\shellex\ContextMenuHandlers" "%USERPROFILE%\Desktop\shellex_backup_1.reg" /y
reg export "HKCR\Directory\shellex\ContextMenuHandlers" "%USERPROFILE%\Desktop\shellex_backup_2.reg" /y
reg export "HKCR\Directory\Background\shellex\ContextMenuHandlers" "%USERPROFILE%\Desktop\shellex_backup_3.reg" /y

Step 5: Malware Checks

If a file named shellex.dll or shellex.exe persists after uninstallation, reappears after deletion, or is found in an unusual location, it is likely malware hooking the system.

Full Malware Removal Procedure

  1. Disconnect from the internet to prevent the malware from communicating with its command server.
  2. Boot into Safe Mode with Networking:
  1. Run RKILL (download from BleepingComputer) to terminate malicious processes.
  2. Scan with Malwarebytes Premium:
  1. Scan with Avast Premium for a second opinion, different engines catch different threats.
  2. Use Revo Uninstaller Pro to clean leftover registry entries and files from the quarantined malware.
  3. Restart in normal mode and verify the issue is resolved.

Signs Your System Was Compromised

After cleaning, watch for these indicators over the next few days:


Windows 11 24H2: Special Considerations

Windows 11 version 24H2 introduced changes that affect shell extensions:

The New Context Menu Pipeline

Windows 11 uses a two-tier context menu. Legacy IContextMenu handlers are hidden behind “Show more options”. If your slow context menu only appears after clicking “Show more options,” the problem is specifically with legacy shell extensions.

Quick Fix: Restore the classic full context menu:

reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve

Restart Explorer after running this command. To revert:

reg delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f

Stricter DLL Loading in 24H2

24H2 enforces stricter DLL validation. Unsigned shell extension DLLs may be blocked or trigger Windows Defender warnings. If an extension suddenly stopped working after the 24H2 update, check:

  1. Event Viewer → Applications and Services → Microsoft → Windows → CodeIntegrity → Operational
  2. Look for events with Event ID 3033 or 3034, these indicate blocked DLL loads.

Performance Benchmarks: Before vs After

After trimming bad handlers, most machines look closer to this (SSD, local folders):

MetricBefore CleanupAfter CleanupImprovement
Right-click menu appearance3-8 seconds< 0.5 seconds6-16x faster
Folder open time (1000 files)4-12 seconds1-2 seconds4-6x faster
Explorer.exe RAM usage300-800 MB80-150 MB50-80% less
Explorer.exe CPU (idle)5-15%0-1%Near zero
Boot to usable desktop45-90 seconds15-25 seconds2-3x faster

Summary of Tools

ToolPurposeCostBest For
ShellExViewToggling context menu itemsFreeFirst-line diagnosis
AutorunsDeep system startup analysisFreeAdvanced users
Process MonitorTracing DLL loads in real-timeFreeDevelopers
Process HackerIdentifying which DLL locks a fileFree (OSS)File locking issues
Revo UninstallerCleaning junk registry keysFreemiumPost-uninstall cleanup
MalwarebytesMalware scanning and removalFreemiumSecurity threats
SigcheckVerifying DLL digital signaturesFreeSecurity audits

Frequently Asked Questions

Q: Will disabling shell extensions break any applications? A: Disabling a shell extension only removes its integration with Explorer (right-click menu, icon overlays, etc.). The parent application itself continues to work normally. You can always re-enable the extension later.

Q: Is it safe to delete orphaned registry keys? A: Yes, if the DLL file no longer exists on disk, the registry key is doing nothing but slowing down Explorer. Always export a backup first.

Q: Why does the problem come back after a Windows Update? A: Some applications re-register their shell extensions during Windows Updates. If this happens, use ShellExView to disable them again, or update the application to a version with a better-behaved extension.

Q: Can I disable ALL shell extensions permanently? A: You can, but you would lose functionality like archive extraction from right-click menus, cloud sync status icons, and antivirus scan options. It is better to identify and disable only the problematic ones.

Q: Do shell extensions affect gaming performance? A: Not directly during gameplay, but they can slow down your boot time, increase RAM usage, and cause micro-stutters if explorer.exe is overloaded in the background.

Still having trouble?

Protect your PC from rogue extensions and malware with premium protection.

Get Malwarebytes Premium (Discounted)
SX

ShellEx.info Editorial

Friendly Windows how-tos for slow menus and Explorer freezes, written so you can follow along at home. About us

Related articles