explaingit

icsharpcode/ilspy

📈 Trending25,198C#Audience · developerComplexity · 2/5ActiveLicenseSetup · easy

TLDR

Free tool that converts compiled .NET programs back into readable C# code, letting you inspect libraries and dependencies without source code.

Mindmap

mindmap
  root((ILSpy))
    What it does
      Decompile assemblies
      Read IL instructions
      Browse metadata
      Export projects
    Use cases
      Understand libraries
      Debug dependencies
      Security audits
      Recover lost code
    Tech stack
      C#
      .NET 10
      Visual Studio
    Audience
      Developers
      Security teams
      Maintainers

Things people build with this

USE CASE 1

Understand how a third-party .NET library works internally without access to its source code.

USE CASE 2

Debug issues in a dependency by inspecting its decompiled C# code and method implementations.

USE CASE 3

Audit compiled .NET software for security vulnerabilities or compliance violations.

USE CASE 4

Recover and reconstruct readable C# code from legacy or lost source code.

Tech stack

C#.NET 10Visual StudioVisual Studio Code

Getting it running

Difficulty · easy Time to first run · 5min
Free and open-source; you can use, modify, and distribute it freely.

In plain English

ILSpy is a free, open-source tool that lets you look inside compiled .NET programs, software built with C# or other .NET languages, even when you don't have the original source code. Compiled programs are normally stored as binary files (called assemblies) that computers can run but humans can't easily read. ILSpy reverses that process (called decompilation) and reconstructs readable C# code from those binary files. This is useful for understanding how a library works, debugging a dependency, or inspecting a program when the source has been lost. The tool works by reading .NET assembly files, parsing the low-level instructions (called Intermediate Language, or IL), and converting them back into human-readable C# code. It also supports browsing assembly metadata (information embedded in the file like type definitions and method signatures), navigating between types and methods with hyperlinks, and exporting entire projects worth of decompiled code. It handles modern .NET formats including ReadyToRun binaries, which are pre-compiled for faster startup. You would use ILSpy when you need to understand what a third-party .NET library does internally, when you want to debug an issue in a dependency you don't have source for, or when you are auditing software for security or compliance. It runs cross-platform on Windows, Mac, and Linux, and integrates with Visual Studio and Visual Studio Code as an extension. The tech stack is C# targeting .NET 10.

Copy-paste prompts

Prompt 1
How do I use ILSpy to decompile a .NET DLL and view the C# source code?
Prompt 2
Show me how to set up ILSpy as a Visual Studio extension to inspect dependencies.
Prompt 3
I have a compiled .NET assembly and need to understand what a specific method does, walk me through using ILSpy to find and read it.
Prompt 4
How can I export an entire decompiled .NET project from ILSpy for analysis?
Prompt 5
What's the difference between IL and C# code, and how does ILSpy convert between them?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.