Unofficial continuation of dnSpy, a debugger and editor for .NET and Unity assemblies that works without source code.
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
Clone the repository and fetch the test submodule
git submodule update --init --recursive - 2
Build the cross-platform Avalonia desktop UI
dotnet build ILSpy.Desktop.slnf - 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
A Windows-focused PE viewer and analyzer for EXE, DLL, SYS, static libraries, COFF objects and ELF files, with disassembly and decompilation.
A curated, annotated list of reverse-engineering tools and learning resources covering binaries, apps, firmware, file formats, and protocols.
A desktop and VS Code tool for building, editing and comparing JSON documents, plus generating JSON from programming language classes.
Open-source community chat platform built with .NET and Blazor, with channels, voice and video, and self-hostable federation.
Command-line and GUI tools that decompile Android Dex, APK and related files into readable Java source code.