Repolode
icsharpcode

icsharpcode/ILSpy

Open-source, cross-platform .NET assembly browser and decompiler that turns compiled .NET binaries back into readable C#.

Open-source alternative to:dotPeek

Stars
26,994
Forks
3,820
Open issues
160
Last commit
4 hours ago

What is it?

ILSpy is a .NET assembly browser and decompiler. It opens compiled .NET assemblies and reconstructs C# source from them, letting developers inspect third-party libraries or old binaries whose source code is no longer available. The desktop UI is built on Avalonia and runs on Windows, Linux, and macOS.

Beyond the main desktop app, the same decompiler engine is offered as a command-line tool (ilspycmd), a dotnet tool, PowerShell cmdlets, NuGet packages for embedding in your own projects, and extensions for Visual Studio and Visual Studio Code. Visual Studio uses it for F12 navigation into external code.

The UI supports whole-project decompilation, type and member search, hyperlink navigation between types, base and derived type browsing, and a metadata explorer. It can also open assemblies from NuGet feeds and handles ReadyToRun binaries for .NET Core, and it can be extended with plugins.

Key features

  • 01Decompiles .NET assemblies to C# with whole-project output
  • 02Cross-platform desktop UI on Windows, Linux and macOS
  • 03Search types, methods and properties with navigation and bookmarks
  • 04Assembly metadata explorer and base/derived type browsing
  • 05Supports ReadyToRun binaries for .NET Core and BAML to XAML conversion
  • 06Plugin system and integrations for Visual Studio, VS Code and the command line

Use cases

  • Inspecting a third-party library's behavior when its source code is unavailable
  • Recovering logic from legacy .NET binaries with lost source
  • Debugging through external code via F12 in Visual Studio
  • Scripting bulk decompilation in CI or automation with ilspycmd

Quick start

  1. 1

    Clone the repository and fetch the test submodule

    git submodule update --init --recursive
  2. 2

    Build the cross-platform Avalonia desktop UI

    dotnet build ILSpy.Desktop.slnf
  3. 3

    Run the ILSpy desktop UI

    dotnet run --project ILSpy

Things to know

  • Building requires the .NET 10.0 SDK, and tests need the .NET 11.0 SDK.
  • Full Windows features such as opening from a running process or GAC are Windows-only.

In collections

Topics

FAQ

What is ILSpy?
Open-source, cross-platform .NET assembly browser and decompiler that turns compiled .NET binaries back into readable C#. ILSpy is a .NET assembly browser and decompiler. It opens compiled .NET assemblies and reconstructs C# source from them, letting developers inspect third-party libraries or old binaries whose source code is no longer available. The desktop UI is built on Avalonia and runs on Windows, Linux, and macOS.
Is ILSpy free to use? What license does it have?
ILSpy is open source under the MIT license. Check the license terms before using it in commercial products.
Is ILSpy still maintained?
Actively maintained. The last commit to ILSpy was on Nov 7, 2026.
What can I use ILSpy for?
Inspecting a third-party library's behavior when its source code is unavailable Recovering logic from legacy .NET binaries with lost source Debugging through external code via F12 in Visual Studio Scripting bulk decompilation in CI or automation with ilspycmd
How do I install ILSpy?
Clone the repository and fetch the test submodule: git submodule update --init --recursive Build the cross-platform Avalonia desktop UI: dotnet build ILSpy.Desktop.slnf Run the ILSpy desktop UI: dotnet run --project ILSpy
Where can I get ILSpy?
The source code and installation instructions are on GitHub: https://github.com/icsharpcode/ILSpy

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects