HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
kaitai-io
kaitai_struct
Shell2020–2025
kaitai-io / kaitai_struct

kaitai_struct

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

3Distinct people
3Mentions
0Explicit recommenders
4.7KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

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

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year3 dated mentions

Observed mentions: 2020-12-05 19:11:56 UTC to 2025-10-04 08:35:33 UTC.

012020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101

What Hacker News says

3 sources
There's a metric ton of them by now. Here's incomplete notes from a couple of years ago: ### kaitai - https://github.com/kaitai-io/kaitai_struct - https://github.com/kaitai-io/awesome-kaitai - http://formats.kaitai.io/dos_datetime/index.html ### Hexinator / Synalyze It! - Universal Parsing Engine - Hexinator is freemium version of Synalyze It! - https://github.com/synalysis/Grammars/blob/master/bitmap.gra... ### quickbms - http://aluigi.altervista.org/quickbms.htm ## multiex - http://multiex.xentax.com/ ### Game Extractor by WATTO - http://www.watto.org/game_extractor.html ### 010 editor templates - https://www.sweetscape.com/010editor/repository/templates/ ### hex fiend templates - https://github.com/HexFiend/HexFiend/tree/master/templates ### malcat - has some form of binary templates - https://malcat.fr/ ### Andys Binary Fo
Read the rest
lding Editor - http://www.nyangau.org/be/be.htm ### winhex templates - https://www.x-ways.net/winhex/templates/index.html ### TRiD - file identifier - TrID is an utility designed to identify file types from their binary signatures. - https://mark0.net/soft-trid-e.html ### GNU file - https://github.com/file/file ### Noesis - Noesis is a tool for previewing and converting between hundreds of model, image, and animation formats. - http://richwhitehouse.com/index.php?content=inc_projects.php... - https://github.com/RoadTrain/noesis-plugins - https://github.com/RoadTrain/noesis-plugins-official ### Ninja ripper - extract individual models from DirectX 3D games, while they are running - https://ninjaripper.com/ ### Unpakke - http://www.nullsecurity.org/unpakke ### Camoto online-only universal game modding tool - https://moddingwiki.shikadi.net/wiki/Camoto - https://camoto.shikadi.net/
In Binary Formats Gallery
I contributed a number of file formats a few years ago (and attempted numerous others) but ran into a number of problems with certain file formats: 1. It's not possible to read from the file until a multiple byte termination sequence is detected. [1] 2. You can't read sections of a file where the termination condition is the presence of a sequence of bytes denoting the next unrelated section of the file (and you don't want to consume/read these bytes) [2] 3. The WebIDE at the time couldn't handle very large file format specifications such as Photoshop (PSD) [3] 4. Files containing compressed or encrypted sections require a compression/encryption algorithm to be hardcoded into Kaitai struct libraries for each programming language it can output to. The WebIDE I particularly liked as it makes it easy to get started and share results. I also
Read the rest
liked how Kaitai Struct allows easy definition of constraints (simple ones at least) into the file format specification so that you can say "this section of the file shall have a size not exceeding header.length * 2 bytes". Some alternative binary file format specification attempts for those interested in seeing alternatives, each with their own set of problems/pros/cons: 1. 010 Editor [4] 2. Synalysis [5] 3. hachoir [6] 4. DFDL [7] [1] https://github.com/kaitai-io/kaitai_struct/issues/158 [2] https://github.com/kaitai-io/kaitai_struct/issues/156 [3] https://raw.githubusercontent.com/davidhicks/kaitai_struct_f... [4] https://www.sweetscape.com/010editor/repository/templates/ [5] https://github.com/synalysis/Grammars [6] https://github.com/vstinner/hachoir/tree/main/hachoir/parser [7] https://github.com/DFDLSchemas/
In Kaitai Struct: A new way to develop parsers for binary structures
i found the Kaitai toolset (IDE, compiler) to be useful in parsing or "deserialization" for proprietary financial protocols. if you are just reading data (especially in an environment with clients in different languages) it's a strong recommend, however lack of support for "serialization" means that you will still need to roll your own encoders. ultimately we created our own tooling/DSL for encoding as well as generating KSY files to generate clients as part of our builds edit: i forgot to add - there is an issue for serialization on kaitai github repo for some time [1], with some interesting discussion around the implementation challenges 1. https://github.com/kaitai-io/kaitai_struct/issues/27
In Kaitai: Describe the structure of data, not how you read or write it

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.