The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Choose a .NET decompiler by what you need to do with an assembly, not by an assumed winner in speed or accuracy. ILSpy is the clearest documented choice when you need a cross-platform desktop browser; dnSpy is the fit to investigate when debugging or editing assemblies is central; dotPeek offers navigation plus project and PDB generation; and Glass.NET puts navigation and assembly information at the center of its workflow. Available evidence does not establish a universal performance or decompilation-quality winner.
How do the four decompilers differ?
All four can help inspect compiled .NET assemblies, but their documented emphasis differs. The table summarizes capabilities described by each project’s or publisher’s own documentation; it is not a controlled comparison of speed, accuracy, or behavior on the same assemblies.
| Tool | Documented emphasis | Platform and distribution notes |
|---|---|---|
| Glass.NET | Navigation features, assembly information, C# and IL views, assembly comparison, exposure reporting, and project export, including a command-line export option. | Its publisher describes it as built on ICSharpCode.Decompiler and says the tool is free. Verify current platform, release, and license details with the publisher. |
| ILSpy | Assembly browsing and decompilation, project decompilation, symbol search and navigation, metadata exploration, plugins, and multiple front ends. | The project describes it as open source and documents an Avalonia desktop UI for Windows, Linux, and macOS. Check current release compatibility for the target assembly. |
| dnSpy | Decompilation and analysis alongside debugging and editing .NET and Unity assemblies, including C#, Visual Basic, IL, and metadata editing. | The repository states GPLv3. The name is used by forks and distributions, so verify the specific repository, release, and target support. |
| dotPeek | Assembly Explorer navigation, C# and IL viewing, project and PDB generation, type relationships, and symbol-server use for debugging. | JetBrains describes it as free software, installable through dotUltimate or as a portable distribution. Its cited documentation is dated May 16, 2024; verify current product details. |
Sources: Glass.NET’s publisher comparison, ILSpy project repository, dnSpy repository, and JetBrains dotPeek documentation.
Which tool should you start with?
For a cross-platform desktop decompiler, start with ILSpy
ILSpy explicitly documents a desktop UI for Windows, Linux, and macOS, using Avalonia. Its repository also describes command-line, IDE, PowerShell, and package front ends. It supports C# and whole-project decompilation, searching types, methods, and properties, hyperlinks and bookmarks, base and derived type navigation, metadata exploration, BAML-to-XAML decompilation, plugins, and ReadyToRun support. Confirm that the current release supports the framework and assembly you need to inspect.
#1 Best Overall
For navigation through symbols and assembly details, consider Glass.NET
Glass.NET’s publisher emphasizes Go to Definition, Find All References, fuzzy Go To All, call and type hierarchies, navigation history, and a namespace/type/member breadcrumb. It also describes a consolidated assembly-information view covering identity, runtime and PE traits, product attributes, references, resources, and metadata statistics. Those are publisher-described features, not independently measured advantages.
The same publisher says Glass.NET uses ICSharpCode.Decompiler, which it also identifies as ILSpy’s decompilation engine. That is a first-party implementation claim; it does not establish that the tools produce identical output or perform equally on every assembly. The publisher’s comparison presents Glass.NET’s assembly-information view as more complete than the partial views it lists for alternatives. Treat that comparison as vendor-authored, not neutral benchmark evidence. See the Glass.NET product comparison.
Rank #2
For debugging or editing assemblies, investigate dnSpy
dnSpy’s repository describes a debugger and .NET assembly editor, with breakpoints, stepping, inspection windows, usage analysis, search, and project export. Its listed editing features cover C# and Visual Basic as well as IL and metadata, and its scope includes .NET and Unity assemblies. Because the name is used by forks and distributions, confirm that the repository and release you select support your target runtime and debugger scenario. The repository states that dnSpy is GPLv3. Check the dnSpy repository.
For Assembly Explorer and generated debugging artifacts, consider dotPeek
JetBrains documents browsing namespaces, types, members, references, and resources in Assembly Explorer; searching and navigating declarations and references; and viewing C# alongside IL. It can generate Visual Studio projects and PDBs, show type hierarchies and dependency diagrams, use symbol servers for debugging, and inspect assemblies associated with running processes. The documentation does not promise that generated projects or symbols recreate the original source exactly. Read the dotPeek documentation.
Rank #3
How should you choose for a specific task?
- Need Windows, Linux, or macOS desktop use: ILSpy explicitly documents all three. Still check the current build and compatibility with your target framework.
- Need to follow references and implementations in an unfamiliar assembly: Glass.NET lists reference search and hierarchy features; dotPeek documents declaration/reference navigation; ILSpy documents symbol navigation. Try your actual assembly and preferred workflow rather than assuming one is faster.
- Need to debug or modify a .NET or Unity assembly: dnSpy explicitly lists debugging and editing. dotPeek documents symbol-server support for debugging compiled assemblies. Check the exact distribution and runtime support.
- Need generated code or debugging artifacts: Glass.NET and ILSpy list project export or decompilation; dnSpy lists project export; dotPeek lists Visual Studio project and PDB generation. Inspect and rebuild generated output rather than treating it as a recovered original project.
- Need to assess licensing or redistribution: ILSpy identifies itself as open source, dnSpy’s repository states GPLv3, JetBrains describes dotPeek as free software, and Glass.NET’s publisher says it is free. Check the applicable official terms for your use, especially redistribution.
What decompilation can—and cannot—tell you
A .NET decompiler reconstructs a readable representation from compiled material; it does not guarantee recovery of the original source code, comments, project structure, or exact authoring decisions. The Scientific Working Group on Digital Evidence (SWGDE) explains that C# compiles to Intermediate Language (IL) and retains substantial metadata. That can support static inspection, but a decompiled view is not proof of what a program does when it runs.
SWGDE distinguishes static inspection from dynamic analysis, which involves executing a sample in a contained environment. Do not run an unknown or potentially malicious assembly merely because you have decompiled it; use appropriate containment for execution. SWGDE documents.
Rank #4
What the available evidence does not establish
There is no controlled four-tool benchmark here that compares decompilation accuracy, speed, or resource use on the same inputs. A shared engine claim, feature list, or vendor comparison cannot substitute for that test. For a consequential choice, try the exact assembly and workflow you care about, and check each tool’s current release notes and compatibility information.
Recommended Free Tools
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

