kaitai-io/kaitai_struct

Kaitai Struct: declarative language to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Nim / Perl / PHP / Python / Ruby / Rust

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 24 minutes ago
Added to GitGenius on September 14th, 2026
Created on February 20th, 2016
Open Issues & Pull Requests: 530 (+0)
GitHub issues: Enabled
Number of forks: 210
Total Stargazers: 4,683 (+0)
Total Subscribers: 101 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.6 hours
Mean response time: 88.9 days
90th percentile: 185.4 days
Tracked items: 270

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Roughly one issue in three opened in the past year never receives a reply. 78% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 25% of issues opened in the past year have been closed. Three people close 81% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 113
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,309 days
Stale 30+ days: 107
Stale 90+ days: 98

Recent activity

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

Top labels

  • bug found (96)
  • enhancement (61)
  • question (54)
  • duplicate (22)
  • infrastructure (19)
  • documentation (8)
  • new language support (4)
  • related project (3)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Kaitai Struct is a declarative language for generating binary data parsers across multiple programming languages.

The tool addresses the problem of writing repetitive, error-prone code to parse binary file formats and network protocols. Instead of implementing parsers separately in each language, developers describe a binary format once in a `.ksy` file using Kaitai Struct's declarative syntax. The compiler then generates parser source code in the target language, complete with an API for accessing the parsed data structure. The project includes a growing collection of pre-written format descriptions and provides visualization tools to debug format definitions before compilation.

Kaitai Struct suits projects that need to work with binary data across multiple programming languages or platforms. It eliminates the need to rewrite parsing logic for each language and reduces bugs from manual binary data handling. The tool generates parsers for C++, C#, Go, Java, JavaScript, Lua, Nim, Perl, PHP, Python, Ruby, and Rust. Adoption requires describing your format in the declarative language, using the Web IDE or console visualizer to validate the format definition, compiling the description to your target language, and including the small runtime library for that language in your project.

The project is structured as an umbrella repository using submodules for individual components, with contributors directed to fork and modify specific component repositories rather than the main repository. Development activity shows ongoing maintenance of the compiler and runtime libraries across supported languages, with format descriptions being added to the collection over time.