ILSpy is an open-source, cross-platform .NET assembly browser and decompiler that turns compiled .NET assemblies back into readable C#. It runs as a desktop application on Windows, Linux, and macOS, with additional frontends covering a Visual Studio extension, a VS Code extension, and a dotnet CLI tool (ilspycmd) for scripting or headless use. It is aimed at .NET developers and reverse engineers who need to inspect third-party libraries, recover lost source, or audit what a compiled assembly actually does, down to current language features like C# 14 extension members and .NET runtime-async methods. With 177 contributors, over a thousand commits in the past year, and a release 17 days ago, it is under active development.
ILSpy is the open-source, cross-platform .NET assembly browser and decompiler, with a desktop UI running on Windows, Linux, and macOS.
Chinese (Simplified)
Release notes: Chinese (Simplified)
Chinese (Simplified) added in v8.0-rc1 (May 14, 2023) · Chinese (Simplified) added in v7.2 (Feb 28, 2022) · Chinese (Simplified) added in v7.2-preview4 (Feb 7, 2022) · Chinese (Simplified) added in v7.1 (May 30, 2021) · Chinese (Simplified) added in v6.2 (Sep 24, 2020)
Features
64 capabilities
across 6 areas
Built from ILSpy's releases, docs, README and our own runs.
“Seen” marks the month we first spotted a release the vendor didn't date.
Group names and tags are our labels.
+Decompilation3 capabilitiesILSpy converts .NET assemblies back into readable C# source, covering everything from whole projects down to individual methods. Users can target specific members, resolve types by approximate name, and export results for use in automated or scripted workflows.▸
+Single-member decompilationshippedDecompiles a single method or type member directly to the terminal, making it easy to inspect one piece of code without opening the full tool.6 releases · 4 other sources · first seen Aug 2026▸
release
Adds --type and --member selection support to ilspycmd -il (IL disassembly now respects the same filtering flags as decompilation).︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
v11.2 · Oct 2026
· source
· release history
Adds opt-in native AOT packages for ilspycmd targeting linux-x64 and win-x64, reducing per-call startup from ~1.8 s to ~315 ms (4–7× faster) for use cases like agent loops that spawn ilspycmd per query.
v11.2 · Oct 2026
· source
· release history
Adds --member argument to ilspycmd for single-member decompilation
v11.0 · Aug 2026
· source
· release history
Adds --member flag to ilspycmd for single-member decompilation, reducing token spend in agentic/LLM workflows.
v11.0 · Aug 2026
· source
· release history
Adds --member flag to ilspycmd for single-member decompilation.
v11.0-rc · Aug 2026
· source
· release history
Adds --member flag to ilspycmd for decompiling a single member instead of an entire assembly.
v11.0-rc · Aug 2026
· source
· release history
example
Disassemble IL for a specific type using the AOT ilspycmd package on Linux to get fast, sub-100 ms output in an automated analysis loop.$ ilspycmd -il --type MyNamespace.MyClass MyAssembly.dll
v11.2 · Oct 2026
· source
Navigate directly to a member by ID without needing to supply a full signature — useful when you only have a partial ID from a crash report or reference.$ ilspycmd MyAssembly.dll --navigateto 'M:MyNamespace.MyClass.MyMethod'
v11.1 · Sep 2026
· source
Decompile a single method from an assembly to minimize output and reduce token usage when calling from an AI agent.$ ilspycmd MyAssembly.dll --member MyNamespace.MyClass.MyMethod
v11.0 · Aug 2026
· source
Decompile a single method or type member to stdout — useful for quick diffs in CI.$ ilspycmd --member "MyNamespace.MyClass.MyMethod" MyAssembly.dll
v11.0-rc · Aug 2026
· source
+Programmatic project-file writing APIshippedExposes an API for controlling how decompiled project files are generated, allowing programmatic or build-pipeline integration.6 releases · 1 other source · first seen Jun 2014▸
release
Publicizes IProjectFileWriter implementations for programmatic project-file writing.
v11.0-rc · Aug 2026
· source
· release history
Publicizes IProjectFileWriter implementations for external consumers of the decompiler library.
v11.0-rc · Aug 2026
· source
· release history
Adds a WholeProjectDecompiler constructor with no default parameter values for explicit API use.
v11.0-rc · Aug 2026
· source
· release history
Provides a WholeProjectDecompiler constructor with no default parameter values for library consumers.
v11.0-rc · Aug 2026
· source
· release history
Exposes IProjectFileWriter and IProjectInfoProvider APIs as public for plugin authors.
v9.0 · Jan 2025
· source
· release history
Decompiling as a Visual Studio project now generates AssemblyInfo.cs file
2.2 · Jun 2014
· source
· release history
example
Generate AssemblyInfo.cs when decompiling to a VS project$ Decompile > Visual Studio Project > [Target]
2.2 · Jun 2014
· source
+Fuzzy type-name resolution in ilspycmdshippedAccepts partial or approximate type names when decompiling from the command line, so users do not need to know the exact full name.1 release · first seen Aug 2026▸
Also counts toward: Command-line interface
release
Adds fuzzy matching for -t type name resolution in ilspycmd.
v11.0 · Aug 2026
· source
· release history
+Code Navigation and Analysis5 capabilitiesILSpy provides tools for moving through decompiled code and understanding how members relate to one another. Clicks, keyboard shortcuts, tooltips, and bookmarks all work together to help users explore unfamiliar assemblies efficiently.▸
+Reference navigation and highlightingshippedNavigates to a member's definition on Ctrl+Click and highlights every reference to it in the editor on a plain click.5 releases · first seen Jan 2025▸
release
Adds an option to highlight all usages of the symbol at the caret in the editor.
v11.2 · Oct 2026
· source
· release history
Ctrl+Click navigates member references while a plain click highlights them in the editor.
v11.0-rc · Aug 2026
· source
· release history
Adds API to set an initially highlighted entity after navigation.
v10.0 · Apr 2026
· source
· release history
New API to set an initially highlighted entity after navigation.
v10.0-preview2 · Dec 2025
· source
· release history
Decompiles switch statements on (ReadOnly)Span<char> using compiler-generated hash functions.
v9.0 · Jan 2025
· source
· release history
+Omnibar breadcrumb and searchshippedShows a breadcrumb trail of the current location in the decompiled code and provides an in-view search, accessible from the top of the editor.3 releases · 1 other source · first seen Mar 2015▸
release
Adds View / Options / Display / Show Omnibar setting
v11.0 · Aug 2026
· source
· release history
Adds View / Options / Display / Show Omnibar — a breadcrumb/search bar at the top of decompiled code.
v11.0 · Aug 2026
· source
· release history
Search for all members using a regex pattern directly in the main UI textbox.$ Type `m:.*InitializeComponent` into the search box to filter only matching members.
2.3 · Mar 2015
· source
+Overrides analysis and keyword navigationshippedShows how methods override one another and lets users jump between overrides using the standard this and base keywords in the decompiled view.3 releases · 1 other source · first seen Mar 2015▸
release
Adds overrides analysis and this/base keyword navigation.
v11.0-rc · Aug 2026
· source
· release history
Reads and uses tuple element names and dynamic type information from PDBs.
v9.0 · Jan 2025
· source
· release history
Base types treenode now displays a flat list of all base types
v6.1 · Jul 2020
· source
· release history
example
Find all constants in an assembly without leaving the current view.$ Type `c:True` into the search box to filter for constant values.
2.3 · Mar 2015
· source
+Bookmarks in decompiled codeshippedLets users place bookmarks in decompiled code and return to those locations quickly via the Bookmarks panel.2 releases · first seen Aug 2026▸
release
Adds Window / Bookmarks — a full-featured bookmarks implementation for the decompiled C# view.
v11.0 · Aug 2026
· source
· release history
Adds Window / Bookmarks UI command for the decompiled C# view
v11.0 · Aug 2026
· source
· release history
+Dynamic member access tooltipsshippedDisplays a tooltip when hovering over a dynamic member access, revealing what the decompiler knows about that call site.2 releases · first seen Aug 2026▸
release
Shows hover tooltips for dynamic member accesses in the decompiler view.
v11.0-rc · Aug 2026
· source
· release history
Shows hover tooltips for dynamic member accesses in the decompiler output view.
v11.0-rc · Aug 2026
· source
· release history
+Assembly Loading and Sourcing2 capabilitiesILSpy can load assemblies from several sources beyond local files on disk, including live processes and remote NuGet feeds. This makes it straightforward to inspect code wherever it happens to be running or published.▸
+Attach to running processshippedAttaches to a running process and loads its assemblies directly, without needing to locate the files on disk manually.10 releases · 1 other source · first seen Mar 2018▸
release
10 total
Adds File / Open from running process UI command (all platforms)
v11.0 · Aug 2026
· source
· release history
Adds File / Open from running process on all platforms (Windows, Linux, macOS).
v11.0 · Aug 2026
· source
· release history
New Open from running process dialog lets you attach ILSpy directly to a live process.
v11.0-rc · Aug 2026
· source
· release history
Adds Open from running process dialog to the GUI, enabling direct decompilation of assemblies loaded in a live process.
v11.0-rc · Aug 2026
· source
· release history
Supports reading standalone ECMA-335 metadata blobs, including portable PDBs.
v9.0 · Jan 2025
· source
· release history
Inspect the decompiled source of an assembly already loaded by a running process, without needing the original file on disk.$ In ILSpy, go to File > Open from running process, select the target process, then choose the assembly to decompile.
v11.0-rc · Aug 2026
· source
+Open assemblies from NuGet feedshippedOpens assemblies straight from a NuGet feed, removing the need to download or unpack a package before inspecting it.2 releases · first seen Feb 2021▸
release
Adds File / Open from NuGet feed to load assemblies directly from a NuGet feed.
v11.0 · Aug 2026
· source
· release history
Search enabled in NuGet packages
v7.0-preview3 · Feb 2021
· source
· release history
+Metadata and Low-Level Inspection2 capabilitiesILSpy exposes raw .NET metadata tables and enriched metadata views alongside the high-level decompiled output. This allows users to examine the binary structure of an assembly without switching to a separate low-level tool.▸
+Metadata view enhancementsshippedImproves the metadata panel so that stored field and method list values are visible even for types with no members, displayed in a readable full-width layout.20 releases · first seen Mar 2018▸
release
20 total
Metadata row details panel now uses a full-width layout with a decompiler-styled editor for text blobs.
v11.0-rc · Aug 2026
· source
· release history
Metadata row details panel gains a full-width layout and a decompiler-styled editor for text blobs.
v11.0-rc · Aug 2026
· source
· release history
Show stored FieldList/MethodList values for memberless types in the metadata view.
v11.0-rc · Aug 2026
· source
· release history
Decompiler engine gains support for C# 7.0 tuple types.
v3.2.0 · Jul 2018
· source
· release history
Decompiler engine supports decompilation of attributes on backing fields of properties (C# 7.3).
v3.2.0 · Jul 2018
· source
· release history
Decompiler engine gains native support for C# 4.0 dynamic binding and named arguments.
v3.2.0 · Jul 2018
· source
· release history
+Raw metadata table inspectionshippedDumps the raw metadata tables of an assembly from the command line, giving direct access to the binary record layout without launching the GUI.5 releases · 2 other sources · first seen Dec 2025▸
release
Adds --dump-table metadata dump mode to ilspycmd.
v11.0 · Aug 2026
· source
· release history
Adds --dump-table metadata dump mode to ilspycmd
v11.0 · Aug 2026
· source
· release history
Adds --dump-table metadata dump mode to ilspycmd for dumping raw metadata tables from assemblies.
v11.0-rc · Aug 2026
· source
· release history
Adds --dump-table metadata dump mode to ilspycmd for inspecting raw metadata tables.
v11.0-rc · Aug 2026
· source
· release history
Adds ildasm /caverbal format support in the Disassembler.
v10.0-preview2 · Dec 2025
· source
· release history
example
Dump a specific metadata table from an assembly for low-level inspection without full decompilation.$ ilspycmd MyAssembly.dll --dump-table
v11.0 · Aug 2026
· source
Dump a raw metadata table from an assembly for inspection without launching the GUI.$ ilspycmd --dump-table MyAssembly.dll
v11.0-rc · Aug 2026
· source
+Platform and IDE Integration2 capabilitiesILSpy runs natively on Windows, Linux, and macOS through its Avalonia GUI, and plugs into Visual Studio as an add-in. These options let teams use the cyber tool in whatever environment their workflow already depends on.▸
+Avalonia cross-platform GUIshippedRuns as a native desktop application on Windows, Linux, and macOS using the Avalonia UI framework.6 releases · 1 other source · first seen Jul 2020▸
release
The WPF frontend has been entirely removed; ILSpy now uses the Avalonia frontend exclusively.
v11.0 · Aug 2026
· source
· release history
Ports ILSpy from WPF to Avalonia, enabling native GUI support on Linux and macOS in addition to Windows.
v11.0 · Aug 2026
· source
· release history
ILSpy now requires .NET 8.0 or later to run (artifacts are framework-dependent).
v9.0-preview1 · Apr 2024
· source
· release history
Enable server-mode GC in ILSpy to reduce memory pressure during deep decompilation of complex binaries.
v7.0 · Apr 2021
· source
· release history
Enable async usage on the assembly resolver API to prevent UI thread blocking during large scans.
v7.0 · Apr 2021
· source
· release history
Enables multi-tab docking interface in the ILSpy GUI
v6.0 · Jul 2020
· source
· release history
docs
Open-source, cross-platform .NET assembly browser and decompiler that converts IL bytecode to C# source code.
+VS2022–2026 add-in supportshippedIntegrates into Visual Studio 2022 and later as an add-in, making assembly inspection available directly inside the IDE.4 releases · first seen Mar 2018▸
release
The VS2017/2019 add-in has been removed; only VS2022–2026 add-ins are supported going forward.
v11.0 · Aug 2026
· source
· release history
Visual Studio add-in now available via the Visual Studio Marketplace for direct installation.
v3.2.0 · Jul 2018
· source
· release history
VSIX drops support for Visual Studio 2015
v3.1-final · Apr 2018
· source
· release history
VSIX extension drops support for Visual Studio 2015
v3.1-beta1 · Mar 2018
· source
· release history
+Other50 capabilities▸
+C# 9.0 and 8.0 syntax supportshippedAdds decompiler support for C# features including init accessors, switch expressions, await foreach loops, and attributes on local functions.15 releases · first seen Aug 2020▸
release
15 total
Supports implicit conversions in switch expressions during decompilation.
v9.0-rc · Jan 2025
· source
· release history
Supports C# 9.0 not patterns in decompiled output
v8.2 · Nov 2023
· source
· release history
Supports C# 8.0 recursive patterns in decompiled output
v8.2 · Nov 2023
· source
· release history
Supports C# 7.1 pattern matching with generics in decompiled output
v8.2 · Nov 2023
· source
· release history
Adds support for Visual Basic Yield Return state machine decompilation
v8.0-preview4 · Apr 2023
· source
· release history
Add C# 9 record classes, with expressions, and primary constructors support for accurate structural analysis of modern .NET code.
v7.0 · Apr 2021
· source
· release history
+C# 12 language feature supportshippedEnables decompilation of C# 12 syntax features, including primary constructors and ref readonly parameters.12 releases · first seen Nov 2024▸
release
12 total
Decompiles C# 14 semi-auto properties with the field keyword.
v11.1 · Sep 2026
· source
· release history
Supports decompilation of .NET 11 runtime-async methods, enabling analysis of assemblies compiled with the new runtime-async feature.
v10.1 · May 2026
· source
· release history
Supports C# 14 extension members decompilation with dedicated UI and Decompiler APIs.
v10.0 · Apr 2026
· source
· release history
+Native int and function pointer supportshippedDecompiles C# 9.0 native integers and calli instructions into appropriate syntax, including debug info for ReadyToRun scenarios.11 releases · 1 other source · first seen Jun 2020▸
release
11 total
Enables detection of .NET version without TargetFrameworkAttribute.
v10.0-preview2 · Dec 2025
· source
· release history
Adds C# 14 extension members decompilation support.
v10.0-preview2 · Dec 2025
· source
· release history
Adds an option to sort custom attributes in the decompiled output.
v9.1 · Apr 2025
· source
· release history
Updated pattern detection to Roslyn 4.12 for improved C# output accuracy.
v9.0 · Jan 2025
· source
· release history
Updates pattern detection to Roslyn 4.12, improving decompilation accuracy for modern C# constructs.
v9.0-rc · Jan 2025
· source
· release history
Includes GC info in R2R (ReadyToRun) output display
v8.2 · Nov 2023
· source
· release history
example
View native int support in C# 9 code via the UI tree view$ In the main window, expand 'Base types' to see the flat list of all inherited types.
v6.1 · Jul 2020
· source
+Project Export Structure ControlshippedControls how decompiled project files are organized on disk, such as maintaining directory structures for nested types.11 releases · first seen May 2023▸
Also counts toward: Command-line interface
release
11 total
Expands nested conditional operators back into if-else in decompiled output.
v11.1 · Sep 2026
· source
· release history
Adds decompdiff tool in TestTools directory to diff generated C# source code between two versions of the decompiler driven via ilspycmd.
v11.1 · Sep 2026
· source
· release history
Extends UseLambdaSyntax to emit statement lambdas.
v11.1 · Sep 2026
· source
· release history
Beautifies enum declarations by referencing previously declared members.
v11.0-rc · Aug 2026
· source
· release history
Represents VB.NET parameterized properties as accessor methods in C# output.
v11.0-rc · Aug 2026
· source
· release history
Adds configuration option to check for overflow and underflow.
v10.0 · Apr 2026
· source
· release history
+Custom documentation comment sourcesshippedAllows plugins to supply XML doc comments from custom sources rather than built-in metadata.5 releases · first seen Jan 2019▸
Also counts toward: Plugin API support
release
ILSpy now requires [.NET 6.0.2](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) installed to run; artifacts are built framework-dependent.
v8.1 · Aug 2023
· source
· release history
ILSpy v8 requires .NET 6.0.2+ runtime for non-self-contained distributions; .NET Framework 4.7.2 is no longer supported.
v8.0 · May 2023
· source
· release history
ILSpy v8.0-rc1 no longer runs on .NET Framework; users must install [.NET 6.0.2](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) or later
v8.0-rc1 · May 2023
· source
· release history
Non-self-contained builds now require .NET 6.0.2 installed on the host; .NET Framework 4.7.2 is no longer supported for these artifacts.
v8.0-preview4 · Apr 2023
· source
· release history
Adds IDocumentationProvider interface to allow plugins to supply XML doc comments from custom sources
v4.0 · Jan 2019
· source
· release history
+Brace folding supportshippedProvides commands and options to fold code blocks based on brace matching for faster navigation.4 releases · 1 other source · first seen Jun 2014▸
release
Adds the RemoveDeadStores option to control dead store removal during decompilation
v5.0-rc1 · Sep 2019
· source
· release history
Adds context menu with folding commands in the code view pane
2.2 · Jun 2014
· source
· release history
Adds option to fold code on all braces via CodeView.FoldOnBraces
2.2 · Jun 2014
· source
· release history
example
Enable folding on all braces for faster code navigation$ Options > Source Code Viewer > Enable 'Fold on braces'
2.2 · Jun 2014
· source
+Custom static analysis via plugin APIshippedProvides an API for custom plugins to implement and run static analysis logic.4 releases · first seen Jan 2019▸
Also counts toward: Plugin API support, Plugin system
release
Removed ITypeReference and its implementations.
v10.0-preview2 · Dec 2025
· source
· release history
Enables collecting analyzers annotated with ExportAnalyzerAttribute.
v9.0-preview3 · Nov 2024
· source
· release history
The BAML decompiler is split into a library and an add-in.
v9.0-preview1 · Apr 2024
· source
· release history
Introduces IAnalyzer API for custom static analysis logic
v4.0 · Jan 2019
· source
· release history
+Metadata Explorer UIshippedProvides a dedicated UI pane for browsing and inspecting assembly metadata structures.4 releases · first seen Jul 2020▸
release
Adds entry size info to R2R (ReadyToRun) metadata viewing
v8.2 · Nov 2023
· source
· release history
Adds metadata tree nodes for blob, guid, string and user string heap
v7.0-rc1 · Apr 2021
· source
· release history
Adds inline display of CustomDebugInformation table entries in metadata
v7.0-rc1 · Apr 2021
· source
· release history
Introduces Metadata Explorer UI for browsing assembly metadata
v6.0 · Jul 2020
· source
· release history
+Async debug info emissionshippedEmits method stepping information for async code via `ilspycmd` command-line options.3 releases · 1 other source · first seen Sep 2019▸
Also counts toward: Command-line interface
release
Adds usepdb option to ilspycmd for improved variable naming during decompilation
v6.0 · Jul 2020
· source
· release history
ilspycmd option debuginfo is renamed to genpdb
v6.0 · Jul 2020
· source
· release history
Adds ilspycmd-d|-debuginfo option to emit method stepping information for async code
v5.0 · Sep 2019
· source
· release history
example
Decompile an assembly with improved variable naming using external PDB files$ ilspycmd --usepdb MyAssembly.dll
v6.0 · Jul 2020
· source
+ICO resource image viewershippedDisplays all images contained within .ico resources directly in the UI.2 releases · 1 other source · first seen Jun 2014▸
release
Adds listing, extracting embedded resources, and decompiling BAML to XAML via ilspycmd.
v10.1 · May 2026
· source
· release history
Enables displaying all images contained within .ico resources
2.2 · Jun 2014
· source
· release history
example
View multiple images inside an ICO file directly in ILSpy$ Right-click .ico resource > View Images
2.2 · Jun 2014
· source
+Plugin debug info injectionshippedEnables plugins to inject debug information such as variable names and sequence points.2 releases · 1 other source · first seen Jan 2019▸
Also counts toward: Plugin API support
release
Adds support for C# 9.0 Attributes on local functions decompilation
v6.1 · Jul 2020
· source
· release history
Adds IDebugInfoProvider interface to allow plugins to inject debug info like variable names and sequence points
v4.0 · Jan 2019
· source
· release history
example
Implement a custom plugin to provide variable names and sequence points for debug info$ public class MyDebugProvider : IDebugInfoProvider { public DebugInfo GetDebugInfo(Instruction instruction) { /* ... */ } }
v4.0 · Jan 2019
· source
+Decompiler dead store removal controlshippedProvides an option to control whether dead stores are removed during the decompilation process.2 releases · 1 other source · first seen Sep 2019▸
Also counts toward: Command-line interface
release
Adds LanguageVersion, RemoveDeadCode, and RemoveDeadStores command-line switches to ilspycmd
v6.0 · Jul 2020
· source
· release history
Adds the RemoveDeadStores option to control dead store removal during decompilation
v5.0-rc1 · Sep 2019
· source
· release history
example
Strip dead code and specify C# language version during decompilation via CLI$ ilspycmd --LanguageVersion 8 --RemoveDeadCode MyAssembly.dll
v6.0 · Jul 2020
· source
+Metadata token display in tree viewshippedAdds an option to show metadata tokens within the tree view pane.3 releases · first seen Jun 2014▸
release
New metadata display options to show tokens in 10-based or hex format.
v4.0-rc1 · Jan 2019
· source
· release history
Shows assembly version next to the caption in tree nodes
2.3 · Mar 2015
· source
· release history
Adds option to display metadata tokens in the tree view
2.2 · Jun 2014
· source
· release history
+Native AOT ilspycmd packagesshippedProvides opt-in native AOT builds of `ilspycmd` for `linux-x64` and `win-x64` that reduce per-invocation startup time from ~1.8 s to ~315 ms, suited for automated or agent-driven workflows that spawn the tool per query.1 release · 1 other source · first seen Oct 2026▸
release
Adds opt-in native AOT packages for ilspycmd targeting linux-x64 and win-x64, reducing per-call startup from ~1.8 s to ~315 ms (4–7× faster) for use cases like agent loops that spawn ilspycmd per query.
v11.2 · Oct 2026
· source
· release history
example
Disassemble IL for a specific type using the AOT ilspycmd package on Linux to get fast, sub-100 ms output in an automated analysis loop.$ ilspycmd -il --type MyNamespace.MyClass MyAssembly.dll
v11.2 · Oct 2026
· source
+Automated testing and diffing toolsshippedIncludes test utilities for validating decompiler output (`decompdiff`) and performing sanity checks on NuGet packages (`nugetfuzz`).2 releases · first seen Sep 2026▸
Also counts toward: Command-line interface
release
Adds nugetfuzz tool in TestTools directory to download NuGet packages and run sanity checks via DEBUG build of ilspycmd.
v11.1 · Sep 2026
· source
· release history
Adds decompdiff test tool that runs an assembly through two different versions of the decompiler via ilspycmd and produces a diff of the generated source code; supports --no-build and can run against git refs.
v11.1 · Sep 2026
· source
· release history
+C# 14 and late-stage language feature supportshippedDecompiles syntax features introduced in C# 7.1 and later, including implicit span conversions, semi-auto properties with the `field` keyword, default literals, and other updates.2 releases · first seen Sep 2026▸
release
Emits C# 7.1 default literals where the context supplies the type.
v11.1 · Sep 2026
· source
· release history
Adds support for decompiling C# 14 implicit span conversions and semi-auto properties with the field keyword.
v11.1 · Sep 2026
· source
· release history
+Package Inspection SearchshippedAllows users to search for types, members, or constants directly within NuGet packages via the UI without stalling.2 releases · first seen Sep 2026▸
release
Enables searching inside packages from the UI without stalling the application.
v11.1 · Sep 2026
· source
· release history
Keeps the UI responsive while searching and drawing reference nodes, enabling search inside packages without stalling and navigation to results.
v11.1 · Sep 2026
· source
· release history
+Single-file bundle assembly supportshippedAccepts single-file application bundles as input for decompilation via `ilspycmd`.2 releases · first seen Sep 2026▸
release
Accepts single-file bundles as ilspycmd input (previously unsupported).
v11.1 · Sep 2026
· source
· release history
Enables ilspycmd to accept single-file bundles as input (PR #4101).
v11.1 · Sep 2026
· source
· release history
+Assembly History NavigationshippedAllows users to navigate the history of visible assemblies using forward and back actions in the new UI.2 releases · first seen Dec 2025▸
release
Enables navigating visible decompiler history in the UI.
v10.0 · Apr 2026
· source
· release history
New UI: navigate visible history for forward/back navigation.
v10.0-preview2 · Dec 2025
· source
· release history
+Disassembler Format SupportshippedExtends the disassembler output capabilities with new format options like `/caverbal` for verbal constant printing.2 releases · first seen Dec 2025▸
release
Adds disassembler support for ildasm /caverbal format.
v10.0 · Apr 2026
· source
· release history
Adds ildasm /caverbal format support in the Disassembler.
v10.0-preview2 · Dec 2025
· source
· release history
+Multi-Entry Package ExtractionshippedEnables the extraction of multiple entries from a package simultaneously via the UI.2 releases · first seen Dec 2025▸
release
Allows extracting multiple package entries at once.
v10.0 · Apr 2026
· source
· release history
Allows extracting multiple package entries at once.
v10.0-preview2 · Dec 2025
· source
· release history
+PDB Identifier InjectionshippedAllows the injection of a specific identifier into generated PDB files via command-line options.2 releases · first seen May 2023▸
Also counts toward: Command-line interface
release
Supports batch PDB generation via GeneratePdbForAssemblies.
v10.0 · Apr 2026
· source
· release history
Users can provide an ID when generating a PDB via a new ilspycmd option.
v8.0 · May 2023
· source
· release history
+Multi-assembly solution generationshippedProvides the capability to decompile a set of assemblies into a single solution file.2 releases · first seen Sep 2019▸
release
Extends error information when multiple assemblies with the same short name are selected during solution file creation.
v9.1 · Apr 2025
· source
· release history
Adds ability to decompile a set of assemblies to a solution
v5.0 · Sep 2019
· source
· release history
+Assembly DiagrammingshippedVisualizes type and assembly relationships using graph-based diagrams, accessible via the UI context menu or command-line interface.2 releases · first seen Jan 2025▸
Also counts toward: Command-line interface
release
New Diagramming feature lets you visualize assembly relationships via the context menu or ilspycmd.
v9.0 · Jan 2025
· source
· release history
New Diagramming feature enables visual graph-based exploration of type and assembly relationships.
v9.0-rc · Jan 2025
· source
· release history
+WebCIL decompilationshippedSupports reading and decompiling WebCIL assemblies containing IL embedded in WASM modules.2 releases · first seen Apr 2024▸
release
Supports reading WebCIL assemblies (IL embedded in WASM) for decompiling Blazor/WebAssembly binaries.
v9.0 · Jan 2025
· source
· release history
Added support for reading WebCIL assemblies (IL embedded in WASM)
v9.0-preview1 · Apr 2024
· source
· release history
+CLI @file argument supportshippedAllows passing command-line arguments and file paths via external text files using the @filename syntax in ilspycmd.2 releases · first seen Jun 2024▸
Also counts toward: Command-line interface
release
@file support with breaking changes to command line options
v9.0-preview2 · Jun 2024
· source
· release history
@file support introduces breaking changes to command line options (#3205)
v9.0-preview2 · Jun 2024
· source
· release history
+Automation Update ControlshippedProvides mechanisms to disable automatic update checks in CI/automation environments for both the GUI and CLI tools.1 release · 1 other source · first seen Aug 2023▸
release
Adds --disable-updatecheck flag to ilspycmd dotnet tool to control update behavior in automation.
v8.1 · Aug 2023
· source
· release history
example
Run ilspycmd in CI or automation without triggering update prompts.$ dotnet tool run ilspycmd --disable-updatecheck MyAssembly.dll
v8.1 · Aug 2023
· source
+Fully qualified type name outputshippedProvides an option to always fully qualify generated type names with the global:: namespace.2 releases · first seen Dec 2022▸
release
Adds an option to always fully qualify type names with global:: in the disassembler output.
v8.0 · May 2023
· source
· release history
Adds an option to always fully qualify type names with global::.
v8.0-preview3 · Dec 2022
· source
· release history
+Compiler-generated member visibilityshippedAllows users to include compiler-generated members, getters, and setters in the tree view.2 releases · first seen Jan 2019▸
release
--singlefile (implied by support): Allows decompiling assemblies embedded in .NET 6 single-file bundles.
v7.1 · May 2021
· source
· release history
New Display all members option in the tree view to include compiler-generated members, getters, and setters.
v4.0-rc1 · Jan 2019
· source
· release history
+String concatenation decompilation controlshippedProvides options to control how string concatenations are rendered in the decompiled output.2 releases · first seen Sep 2020▸
release
Adds an option for string.Concat decompilation
v6.2 · Sep 2020
· source
· release history
Adds string.Concat decompilation option to control how concatenation is rendered
v6.2-preview2 · Sep 2020
· source
· release history
+Custom configuration file supportshippedAllows users to specify a custom settings file via command-line arguments in `ilspycmd`.1 release · 1 other source · first seen Jan 2019▸
Also counts toward: Command-line interface
release
Adds the /config: command-line argument to specify a custom settings file path
v4.0 · Jan 2019
· source
· release history
example
Load a custom configuration file when running ILSpy from the terminal$ ilspy.exe /path/to/assembly.dll /config:C:/custom-settings.xml
v4.0 · Jan 2019
· source
+Plugin type signature printing APIshippedProvides an API for plugins to print type names or member signatures using `IAmbience`.1 release · 1 other source · first seen Jan 2019▸
Also counts toward: Plugin API support
release
Revives the IAmbience API via CSharpAmbience for plugin writers to print type names or member signatures
v4.0 · Jan 2019
· source
· release history
example
Print a C# style signature using the revived IAmbience API in a plugin$ var ambience = new CSharpAmbience(); string signature = ambience.GetTypeSignature(someTypeReference);
v4.0 · Jan 2019
· source
+Cross-platform PDB dumping in CLIshippedAdds the ability to dump PDB debug information from assemblies via `ilspycmd` on all supported platforms.1 release · first seen Oct 2026▸
Also counts toward: Command-line interface
release
Adds cross-platform PDB dumping to ilspycmd.
v11.2 · Oct 2026
· source
· release history
+Options searchshippedProvides a search box within the Options tab of the ILSpy GUI to quickly locate settings.1 release · first seen Oct 2026▸
release
Adds a search box to the Options tab in the ILSpy GUI.
v11.2 · Oct 2026
· source
· release history
+ldtoken Syntax SupportshippedGenerates appropriate C# syntax for the ldtoken IL instruction during decompilation.1 release · first seen Sep 2026▸
release
Invents a decompiler syntax for the ldtoken IL instruction.
v11.1 · Sep 2026
· source
· release history
+Obfuscation DetectionshippedDetects common obfuscation patterns such as renamed local functions during decompilation.1 release · first seen Sep 2026▸
release
Detects local functions renamed by obfuscators.
v11.1 · Sep 2026
· source
· release history
+Assembly API DiffingshippedCompares the public APIs of two assemblies and highlights differences.1 release · first seen Apr 2026▸
release
New API diff feature for comparing assembly APIs.
v10.0 · Apr 2026
· source
· release history
+Single-instance application managementshippedPrevents concurrent execution of the cyber tool by enforcing a single running instance across the desktop and CLI.1 release · first seen Jun 2024▸
+NuGet Package Resolution ConfigurationshippedAllows controlling NuGet package resolution paths via environment variables for flexible dependency management.1 release · first seen Nov 2023▸
release
Adds NUGET_PACKAGES environment variable support to control NuGet package resolution paths
v8.2 · Nov 2023
· source
· release history
+ARM64 Platform SupportshippedProvides compiled binaries and installers for ARM64 architectures across the standalone toolchain and Visual Studio extension.1 release · first seen Aug 2023▸
release
Adds ARM64 binaries and ARM64 installer downloads for the VS 2022 extension and standalone distribution.
v8.1 · Aug 2023
· source
· release history
+User Interface ThemesshippedProvides additional UI theme options beyond the standard Light/Dark modes, including specific custom themes like 'R#' and 'VS Code'.1 release · first seen Apr 2023▸
release
Adds new UI themes (R# and VS Code) alongside existing Light/Dark options for the main window
v8.0-preview4 · Apr 2023
· source
· release history
+C# 11 required members supportshippedEnables decompilation of C# 11 syntax features, including required property modifiers.1 release · first seen Dec 2022▸
release
Adds support for decompiling C# 11 required members.
v8.0-preview3 · Dec 2022
· source
· release history
+Asynchronous decompiler initializationshippedSupports asynchronous initialization of the decompiler type system to improve responsiveness.1 release · first seen Feb 2022▸
release
Added DecompilerTypeSystem.CreateAsync for asynchronous initialization of the decompiler type system
v7.2 · Feb 2022
· source
· release history
+C# 8 nullable type format compatibilityshippedSupports the latest metadata format for C# 8.0 nullable reference types while noting compatibility limits.1 release · first seen Sep 2019▸
release
C# 8.0 nullable reference types metadata only supports the latest format; assemblies generated by older preview versions of C# 8 are not supported
v5.0 · Sep 2019
· source
· release history
+Reference path specification in CLIshippedEnables specifying reference assembly paths directly via command-line options in `ilspycmd`.1 release · first seen Sep 2019▸
Also counts toward: Command-line interface
release
Adds ilspycmd-r|-referencepath option to specify reference paths
v5.0 · Sep 2019
· source
· release history
+C# 7.1 reference assembly warningshippedDisplays a warning in the UI when decompiling code from a C# 7.1 reference assembly.1 release · first seen Jan 2019▸
release
Shows a warning in the UI when viewing decompiled code from a C# 7.1 reference assembly
v4.0 · Jan 2019
· source
· release history
+Cecil object model extension for pluginsshippedOffers extension methods to help plugin developers port or create logic using the Cecil object model.1 release · first seen Jan 2019▸
Also counts toward: Plugin API support
release
Adds new extension method CreateCecilObjectModel to help plugins port to ILSpy 4.0
v4.0 · Jan 2019
· source
· release history
+Advanced UI search filteringshippedEnables precise searching within the main UI textbox using direct selectors for types, members, and constants.1 release · first seen Mar 2015▸
release
Adds direct type selector (t:), member selector (m:), and constant selector (c:) in the search textbox
2.3 · Mar 2015
· source
· release history
+Callers/Reference analysisshippedAnalyzes and displays which types in an assembly reference a specific selected type.1 other source · first seen Mar 2015▸
example
Inspect which types reference a specific class via the new analyzer node.$ Right-click a type in the tree and select the "Used by" analyzer node.
2.3 · Mar 2015
· source
+UI search regex supportshippedAllows the use of regular expressions for pattern matching directly in the UI search box.1 release · first seen Mar 2015▸
Lines in monospace are the tool's own words: help text
parsed from its source, or an endpoint from its API document. Under
release, a line is our summary of a dated release. Under
docs, it is quoted from the tool's own documentation or
website. Each links back to the source it came from.
Command line
View
Source
No command matches.
load a captured run
composed command
No matchesTry a different search, or clear a filter to see more.
option surface across analysed releases
options at that releaseadded, per releaseremoved, per release
option
found in
since
description
No matchesTry a different search, or clear a filter to see more.
option changes per release — drag across the rail to set a range
→
Values are placeholders taken from each option’s declared default.
Nothing is executed here — the output shown is a recording of a run
that already happened.
Score card
Shipping velocityreleases a month, last 12 months
Documentation qualityrelease-notes rubric, 0–100
Breaking-change disciplinehow rarely a release breaks users, and notice given
Maintenance riskquiet time against its own cadence, maintainers
Innovation & surfacenew capabilities, API and MCP surface
Community health
Contributor trenddistinct committers, this year against last
Maintainer concentrationbus factor now against a year ago
Issue backlog trendissues closed per issue opened, 12 months
Responsivenessmedian time to a maintainer’s first reply
Nine scores for ILSpy, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.
Each score is 0–100 on a published rubric, derived from data this site already shows.
A dimension we cannot measure says so — it is never scored 0 and never enters a rank.
How this is scored
Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
Documentation quality — the release-notes rubric published on the analytics page, unchanged.
Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.
Release-note detail over time
See how much detail ILSpy puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.
Issue, contributor and maintainer activity in icsharpcode/ILSpy, 2023-10 – 2026-09,
as of 2026-09-25. Twelve-month figures first; the trend lines run
the whole window.
Contributors25+1 vs prior 12 months
Maintainers1+0 joined · −3 left, last 12 months
Bus factor1committers behind half the commits
Community-filed80%of issues opened, last 12 months
Median time to close74 daysfirst maintainer reply 42 hours
Open backlog159of 2,728 issues ever filed
Issues opened / month0 · 4communitymaintainers
Open backlog159
Contributors / month4
Commits / month111
Stars26,099
Issue themes, last 12 months
bugs 63%
features 11%
docs 2%
other 24%
Counts from the project's public repository and git history; no individuals
are identified. Maintainers are the committers covering 80% of the last year's
commits. how we measure this
Libraries its release ships
What its latest release locks, checked against known advisories.
None of its release's images build from a lockfile we can read.
Add the badge to your README
Maintain this project? The badge links readers straight to this page, so they can
follow every release here.