ScriptsJul 26, 2026·3 min read

ILSpy — Open-Source .NET Decompiler

A cross-platform .NET assembly browser and decompiler that supports PDB generation and multiple output formats.

Agent ready

Ready-to-run agent install

This asset can be installed after the agent chooses its runtime, checks the plan, and runs the matching command.

Native · 98/100Policy: allow
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
ILSpy Overview
Direct install command
npx -y tokrepo@latest install 68b61a2f-88ce-11f1-9bc6-00163e2b0d79 --target codex

Run after dry-run confirms the install plan.

Introduction

ILSpy is an open-source .NET assembly browser and decompiler maintained by the icsharpcode team. It provides both a GUI application for Windows and a cross-platform command-line tool for decompiling .NET assemblies into readable C#, VB.NET, or IL code. The project serves as a widely used alternative to commercial .NET decompilers.

What ILSpy Does

  • Decompiles .NET assemblies (DLLs and EXEs) into C#, VB.NET, or IL code
  • Browses assembly metadata, types, members, and resources in a tree view
  • Generates PDB debug symbol files for decompiled assemblies
  • Exports decompiled code as complete Visual Studio project files
  • Supports .NET Framework, .NET Core, and .NET 5+ assemblies

Architecture Overview

ILSpy is built on top of the ICSharpCode.Decompiler library, which handles the core IL-to-C# translation pipeline. The decompiler processes CIL bytecode through multiple transformation stages including control flow analysis, type inference, pattern matching for high-level constructs, and finally C# AST generation. The GUI frontend uses Avalonia for cross-platform support while the command-line tool (ilspycmd) provides the same decompilation engine for CI/CD and scripting workflows.

Self-Hosting & Configuration

  • Download pre-built binaries from the GitHub releases page or install via winget/dotnet tool
  • The GUI version runs standalone on Windows with no installation required
  • Configure decompiler settings such as target language version and output formatting through the options dialog
  • Plugin support allows extending ILSpy with custom language backends or analysis tools
  • The command-line tool integrates into build pipelines for automated decompilation tasks

Key Features

  • Cross-platform support via Avalonia UI and the ilspycmd .NET global tool
  • Search functionality across loaded assemblies for types, members, and string literals
  • Assembly diffing to compare two versions of a .NET assembly
  • NuGet package loading to decompile packages directly from feeds
  • ReadyToRun (R2R) and Native AOT assembly support for modern .NET workloads

Comparison with Similar Tools

  • dnSpy: Offers integrated debugging and editing of assemblies but is no longer actively maintained; ILSpy focuses on decompilation and browsing
  • dotPeek (JetBrains): Free but closed-source with JetBrains ecosystem integration; ILSpy is fully open-source and extensible
  • JustDecompile (Telerik): Another free closed-source option with plugin support; ILSpy provides source access and community-driven development
  • Reflector (.NET): One of the earliest .NET decompilers, now commercial; ILSpy was originally created as its free replacement

FAQ

Q: Can ILSpy decompile .NET Core and .NET 5+ assemblies? A: Yes. ILSpy supports .NET Framework, .NET Core, .NET 5, 6, 7, 8, and newer runtimes through the ICSharpCode.Decompiler library.

Q: Does ILSpy run on Linux and macOS? A: The GUI version is available cross-platform via Avalonia, and the ilspycmd command-line tool runs on any platform with the .NET SDK installed.

Q: Can I generate PDB files for debugging decompiled code? A: Yes. ILSpy can generate portable PDB files that allow you to step through decompiled source in a debugger like Visual Studio.

Q: Is ILSpy suitable for recovering lost source code? A: ILSpy produces readable C# or VB.NET code from compiled assemblies, though the output may differ from the original source in variable naming and some high-level constructs.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets