Skip to content

ILSpy

Open-source .NET decompiler and assembly browser that runs on Windows, Linux, and macOS.

Stars
26.9k
Forks
3.8k
Licence
MIT
Language
C#
Last update
5 days ago
Type
App

What it is

ILSpy opens compiled .NET programs (assemblies) and converts them back into readable C# code, so you can see how they work without the original source. It also lets you browse an assembly's types, methods, and metadata. The desktop interface is built with Avalonia and runs on Windows, Linux, and macOS, and it is also available as a Visual Studio extension and a command-line tool.

  • Browse the types and methods inside a .NET DLL to see what it exposes
  • Decompile a whole project from an assembly to C# for review
  • Search for types, methods, or properties across loaded assemblies
  • Open a package from a NuGet feed and inspect its contents
  • Inspect assembly metadata with the built-in metadata explorer

Great for

  • Developers who need to understand a .NET library whose source code they do not have
  • Engineers debugging third-party .NET assemblies or NuGet packages
  • Students learning how C# compiles to intermediate language
  • People who want to inspect .NET assemblies on Linux or macOS

Not ideal for

  • Anyone wanting to recover or copy proprietary code for reuse, since the README does not address licensing of decompiled output and this is a legal question for the user
  • Users looking for a decompiler for non-.NET languages, since the project is focused on .NET assemblies
Step-by-step guide: how to use ILSpyInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Download the app

    Clone the repository

    git clone https://github.com/icsharpcode/ILSpy

    Initialize submodules (for building from source)

    git submodule update --init --recursive

    Build the cross-platform desktop UI

    dotnet build ILSpy.Desktop.slnf
  2. 2

    Run it

    • Download the latest release for your operating system from the GitHub releases page, or use the Visual Studio extension
    • Launch ILSpy and open a .NET assembly (.dll or .exe) from disk or a NuGet feed
    • Browse the assembly tree on the left and select a type or method to view its decompiled C#
    • Use search to find types, methods, or properties by name
  3. 3

    Get the most out of it

    • Use the metadata explorer to inspect an assembly's low-level structure
    • Try the command-line tool ilspycmd or the NuGet package ICSharpCode.Decompiler for scripting and automation
    • Look into the plugin system described in the project wiki to extend ILSpy
    • Use the Visual Studio 2022/2026 integration so F12 decompiles external code directly in the IDE

Downloads

Strengths

  • Free and open source under the MIT License
  • Runs on Windows, Linux, and macOS through a desktop UI, with a command-line tool also available
  • Supports several inputs including NuGet packages, disk files, and ReadyToRun binaries for .NET Core

Trade-offs

  • The README does not state how complete the decompiled C# is for every language feature; it links to a separate language support status page
  • Some features, such as opening from a running process or the GAC, are Windows-only
  • Building from source requires specific, recent .NET SDK versions and Visual Studio components

How it compares

ProjectStarsTypeLevelUpdatedBest for
ILSpy (this)26.9kAppbeginner5 days agoDevelopers who need to understand a .NET library whose source code they do not have
Avalonia31.7kFrameworkintermediate4 days agoC# developers who already know XAML or WPF
BenchmarkDotNet11.5kLibraryintermediate6 days ago.NET developers who want to compare two or more implementations of a method
modular-monolith-with-ddd14.1kLearning resourceadvanced2.4 years agoDevelopers learning Domain-Driven Design tactical patterns in C#
aspnetboilerplate12kFrameworkadvanced12 days agoC# developers already working in the ASP.NET Core ecosystem
Files46.4kAppintermediate5 days agoWindows users who want a more modern alternative to File Explorer

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.