PAGES
← all tools
◆ Reverse Engineering

ILSpy

v11.2 open-source

ILSpy is the open-source, cross-platform .NET assembly browser and decompiler, with a desktop UI running on Windows, Linux, and macOS.

Summary

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.

How ILSpy helps

What does this compiled assembly actually do when its source is lost or unavailable?

rebuilds readable C# from the IL, letting the reader browse types, methods, and logic as if the project source were still there

What changed in the public surface between two builds of the same library?

compares the API of two assembly versions and lists the additions, removals, and changes between them

Which embedded resources or XAML did a compiled application ship with?

lists and extracts embedded resources from the assembly, including converting embedded BAML back into readable XAML

Can this assembly be understood without opening a GUI, as part of a script or pipeline?

offers the same decompilation engine as a dotnet CLI tool, so a build or audit step can decompile headlessly and capture the output

all 64 features, with the evidence for each →

Languages

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.

Compare with peers →

What ILSpy offers you

  • Command-line interface11
  • Plugin API support5
  • Plugin system1
Decompilation 3 capabilities ILSpy 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 decompilation shipped Decompiles 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 API shipped Exposes 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 ilspycmd shipped Accepts 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 Analysis 5 capabilities ILSpy 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 highlighting shipped Navigates 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 search shipped Shows 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

example

  • 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 navigation shipped Shows 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 code shipped Lets 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 tooltips shipped Displays 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 Sourcing 2 capabilities ILSpy 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 process shipped Attaches 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
  • Disable automatic assembly loading UI option v9.0-preview1 · Apr 2024 · source · release history

example

  • 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 feed shipped Opens 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 Inspection 2 capabilities ILSpy 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 enhancements shipped Improves 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 inspection shipped Dumps 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 Integration 2 capabilities ILSpy 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 GUI shipped Runs 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 support shipped Integrates 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
Other 50 capabilities
C# 9.0 and 8.0 syntax support shipped Adds 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 support shipped Enables 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
  • Decompiles C# 14 implicit span conversions (first-class span types). 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# 12 InlineArray decompilation. v10.0 · Apr 2026 · source · release history
  • Supports C# 13 allows ref struct generic constraint decompilation. v10.0 · Apr 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 support shipped Decompiles 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 Control shipped Controls 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 sources shipped Allows 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 support shipped Provides 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 a Used by analyzer node to types 2.3 · Mar 2015 · 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 API shipped Provides 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 UI shipped Provides 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 emission shipped Emits 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 viewer shipped Displays 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 injection shipped Enables 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 control shipped Provides 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 view shipped Adds 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 packages shipped Provides 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 tools shipped Includes 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 support shipped Decompiles 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 Search shipped Allows 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 support shipped Accepts 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 Navigation shipped Allows 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 Support shipped Extends 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 Extraction shipped Enables the extraction of multiple entries from a package simultaneously via the UI. 2 releases · first seen Dec 2025

release

PDB Identifier Injection shipped Allows 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 generation shipped Provides 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 Diagramming shipped Visualizes 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 decompilation shipped Supports 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 support shipped Allows 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 Control shipped Provides 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 output shipped Provides 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 visibility shipped Allows 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 control shipped Provides 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 support shipped Allows 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 API shipped Provides 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 CLI shipped Adds 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

Options search shipped Provides a search box within the Options tab of the ILSpy GUI to quickly locate settings. 1 release · first seen Oct 2026

release

ldtoken Syntax Support shipped Generates 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 Detection shipped Detects common obfuscation patterns such as renamed local functions during decompilation. 1 release · first seen Sep 2026

release

Assembly API Diffing shipped Compares the public APIs of two assemblies and highlights differences. 1 release · first seen Apr 2026

release

Single-instance application management shipped Prevents concurrent execution of the cyber tool by enforcing a single running instance across the desktop and CLI. 1 release · first seen Jun 2024

release

NuGet Package Resolution Configuration shipped Allows 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 Support shipped Provides 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 Themes shipped Provides 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 support shipped Enables 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 initialization shipped Supports 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 compatibility shipped Supports 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 CLI shipped Enables 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 warning shipped Displays 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 plugins shipped Offers 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 filtering shipped Enables 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 analysis shipped Analyzes 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 support shipped Allows the use of regular expressions for pattern matching directly in the UI search box. 1 release · first seen Mar 2015

release

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.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median 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.

Score cards are part of every paid plan.

See plans →

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.

Checking release-note history…

Explore the full chart →

Releases

Show

43 entries

  1. October 20261
  2. September 20261
  3. August 20262
  4. May 20261
  5. April 20261
  6. March 20261
  7. December 20251
  8. April 20251
  9. January 20252
  10. November 20241
  11. June 20241
  12. April 20241
  13. November 20231
  14. August 20231
  15. May 20232
  16. April 20231
  17. December 20221
  18. February 20221
  19. May 20211
  20. April 20212
  21. February 20211
  22. January 20211
  23. September 20202
  24. August 20201
  25. July 20202
  26. June 20201
  27. September 20192
  28. January 20192
  29. July 20181
  30. June 20181
  31. April 20181
  32. March 20181
  33. January 20181
  34. March 20151
  35. June 20141
    Show

    43 entries

    Project health

    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.

    1. Contributors 25 +1 vs prior 12 months
    2. Maintainers 1 +0 joined · −3 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 80% of issues opened, last 12 months
    5. Median time to close 74 days first maintainer reply 42 hours
    6. Open backlog 159 of 2,728 issues ever filed
    1. Issues opened / month 0 · 4 communitymaintainers
    2. Open backlog 159
    3. Contributors / month 4
    4. Commits / month 111
    5. Stars 26,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.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →