icedland/iced

Blazing fast and correct x86/x64 disassembler, assembler, decoder, encoder for Rust, .NET, Java, Python, Lua

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 17 minutes ago
Added to GitGenius on September 19th, 2026
Created on September 7th, 2018
Open Issues & Pull Requests: 61 (+0)
GitHub issues: Enabled
Number of forks: 274
Total Stargazers: 3,564 (+0)
Total Subscribers: 67 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 31.0 hours
Mean response time: 43.3 days
90th percentile: 99.0 days
Tracked items: 26

Most active contributors

Sign in to see contributor activity.

How this project is maintained

100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 61% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 22
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 423 days
Stale 30+ days: 20
Stale 90+ days: 20

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (2)
  • invalid (1)
  • not-reproducible (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

iced is a blazing fast x86 and x64 instruction decoder, disassembler, and assembler for Rust, .NET, Java, Python, Lua, and JavaScript.

The tool solves the problem of accurately translating between machine code and human-readable assembly language across multiple platforms. It decodes x86 instructions (16, 32, and 64-bit) into structured representations and can reassemble them, supporting all Intel and AMD instructions. The decoder operates without memory allocation and produces compact 40-byte instruction objects. Multiple output formatters are available, including masm, nasm, gas (AT&T), and Intel (XED) syntax, with extensive customization options. Beyond basic decoding and encoding, the tool provides an API to query instruction metadata such as read and written registers, memory operands, rflags bits, CPUID feature flags, and control flow information.

The tool suits projects that need to analyze, instrument, or generate x86 code programmatically. Its multi-language support makes it accessible whether you work in Rust, .NET, Java, Python, or JavaScript environments. The performance characteristics—decoding over 250 MB/s and combined decode-plus-format operations exceeding 130 MB/s in Rust—make it suitable for bulk binary analysis tasks. Projects requiring correctness guarantees will benefit from the extensive testing against other disassemblers and assemblers, as well as fuzzing validation.

The project maintains active development with continuous integration testing and code coverage tracking. Releases are published across multiple package managers including crates.io, NuGet, Maven Central, and PyPI, indicating sustained support for all language bindings. The codebase is comprehensively tested, with validation against established tools like xed, gas, objdump, masm, dumpbin, nasm, and ndisasm to ensure instruction correctness.