awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
kaitai-io avatar

kaitai-io/kaitai_struct

0
View on GitHub↗
4,628 stars·208 forks·Shell·21 viewskaitai.io↗

Kaitai Struct

Kaitai Struct is a framework for declarative binary specification that provides automated parser and serializer generation across multiple programming languages. It uses a portable, domain-specific language to describe the layout of binary files and network packets, converting these specifications into source code for reading and writing binary data.

The system enables cross-language data processing by translating a single structural definition into native source code for languages including C++, C#, Go, Java, JavaScript, Python, and Rust. This approach allows the same binary data specification to be implemented across different platforms without manually rewriting parsing logic.

The framework covers binary data modeling and processing, including the ability to manage read pointers for offset navigation and apply data transformations such as decompression and decryption. It also provides tools for format specification debugging to validate the mapping between binary data layouts and their declarative descriptions.

Features

  • Parser Generators - Automatically generates binary data parser source code for multiple languages from a declarative format specification.
  • Binary Buffer Parsing - Provides the capability to parse raw binary data from files and network packets using declarative definitions.
  • Binary Schema Definitions - Allows developers to create portable binary schema definitions for file and network packet formats.
  • Serializer Generators - Converts declarative data specifications into source code that writes structured data back to binary streams.
  • Binary Format Definition Languages - Implements a portable domain-specific language for describing binary file and network packet layouts.
  • Domain Specific Languages - Provides a custom domain-specific language for describing binary data layouts without writing imperative parsing logic.
  • Binary Format Specifications - Creates portable, declarative descriptions of binary data layouts that serve as a reference across different platforms.
  • Cross-Language Binary Parsing Frameworks - Provides consistent binary data decoding capabilities for C++, C#, Go, Java, JavaScript, Python, and Rust.
  • Multi-Language Code Generators - Generates native source code for multiple target languages from a single structural binary specification.
  • Read Pointer Navigation - Tracks the current byte position and allows jumping to absolute offsets to access non-sequential binary data.
  • Offset-Based Addressing - Provides mechanisms for navigating binary blobs using absolute and relative byte offsets via a read pointer.
  • Binary Format Visualizers - Provides visualizers to validate that the described binary structure correctly maps to the actual raw data.
  • Cross-Language Implementations - Ensures binary data parsing parity across multiple programming languages by using a shared specification.
  • Data Transformation Pipelines - Implements multi-stage processing pipelines to handle binary data transformations such as decompression and decryption.
  • Byte Stream Transformations - Processes byte arrays through XOR, rotation, and Zlib decompression to decode compressed or obfuscated content.

Star history

Star history chart for kaitai-io/kaitai_structStar history chart for kaitai-io/kaitai_struct

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Kaitai Struct

These projects share indexed features with Kaitai Struct. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • focus-creative-games/lubanfocus-creative-games avatar

    focus-creative-games/luban

    4,458View on GitHub↗

    Luban is a game configuration toolchain designed to convert spreadsheet-based data into optimized binary formats and type-safe source code for multiple languages. It functions as a comprehensive suite for configuration validation, data serialization pipelines, and code generation to ensure data consistency across different platforms. The system features a multi-language code generator that produces strongly-typed data classes from schemas, eliminating the need for reflection. It includes a localization manager for exporting translated text and assets with locale-specific patching, and a seria

    C#cocos2d-xconfigcsv
    View on GitHub↗4,458
  • exif-js/exif-jsexif-js avatar

    exif-js/exif-js

    4,979View on GitHub↗

    exif-js is a JavaScript library for extracting image metadata directly in the browser. It functions as a binary image buffer parser that reads raw image bytes to retrieve technical details without requiring files to be uploaded to a server. The library parses data following the EXIF and IPTC standards to extract camera settings, timestamps, GPS coordinates, captions, keywords, and copyright information. It utilizes typed arrays and offset-based traversal to navigate image structures and map numeric identifiers to human-readable tags.

    JavaScript
    View on GitHub↗4,979
  • racket/racketracket avatar

    racket/racket

    5,157View on GitHub↗

    Racket is a general-purpose, multi-paradigm programming language in the Lisp family designed for language creation. It functions as a language workbench, providing a platform for designing and implementing custom programming languages through a flexible system of macros and modules. The system distinguishes itself by offering a comprehensive suite for semantics engineering, allowing for the construction of specialized language subsets and educational layers. It includes tools for custom language design, such as lexer and parser generation, as well as the ability to define module expansion rul

    Racketracket
    View on GitHub↗5,157
  • ohmjs/ohmohmjs avatar

    ohmjs/ohm

    5,471View on GitHub↗

    Ohm is a formal grammar parser generator and domain-specific language framework. It provides a system for defining custom languages to parse, validate, and extract data from input text, transforming raw strings into hierarchical abstract syntax trees based on specified formal rules. The project utilizes an Earley parsing algorithm, which allows it to support all context-free grammars, including those with left recursion and ambiguity, without requiring predefined operator precedence. It also includes a dedicated debugging toolkit for tracing and visualizing the step-by-step state transitions

    JavaScriptcompilergrammarsjavascript
    View on GitHub↗5,471
Compare all 30 related projects→

Frequently asked questions

What does kaitai-io/kaitai_struct do?

Kaitai Struct is a framework for declarative binary specification that provides automated parser and serializer generation across multiple programming languages. It uses a portable, domain-specific language to describe the layout of binary files and network packets, converting these specifications into source code for reading and writing binary data.

What are the main features of kaitai-io/kaitai_struct?

The main features of kaitai-io/kaitai_struct are: Parser Generators, Binary Buffer Parsing, Binary Schema Definitions, Serializer Generators, Binary Format Definition Languages, Domain Specific Languages, Binary Format Specifications, Cross-Language Binary Parsing Frameworks.

Which projects share features with kaitai-io/kaitai_struct?

Projects with overlapping indexed features include: exif-js/exif-js — exif-js is a JavaScript library for extracting image metadata directly in the browser. It functions as a binary image… focus-creative-games/luban — Luban is a game configuration toolchain designed to convert spreadsheet-based data into optimized binary formats and… racket/racket — Racket is a general-purpose, multi-paradigm programming language in the Lisp family designed for language creation. It… ohmjs/ohm — Ohm is a formal grammar parser generator and domain-specific language framework. It provides a system for defining… holistics/dbml — DBML is a domain-specific language and schema definition language used for documenting database architecture and… samshadwell/trumpscript — TrumpScript is a Python-based domain specific language and compiler extension that wraps the Python runtime to enforce…