Community

The most important aspect of binrw is not macro magic, or parsing, or whatever. It's smart, talented, kind, and understanding people choosing to spend time talking about a silly parsing framework.

Need help? Have ideas? Questions about contributing? Just like talking about Rust? Feel free to join our chat:

Prefer one over the other? No worries! The discord and matrix channels are bridged together, so you can feel at-home regardless of whichever fits. No matter your experience level, we'd love to have you. Please don't be afraid to ask for help, nobody was born an expert and we've cultivated a small community of people who will meet you where you're at. The worst that can happen is that people are busy and can't answer.

Have any binrw community issues? Message @jam1garner on either platform (or twitter). Intolerance will not be tolerated. If your issue is just that I forgot to give you the "Contributor" role, please message me about that too! It's there for a reason, no matter how small a contribution!

Showcase

Want to have your work shown off? Post about it in the binrw chat, and maybe you'll be included below!

nif by Perl
A full city worth of models reconstructed and rendered in Blender
A parser for the Gamebryo engine's NIF files used for models and entities.

ssbh_lib by @ScanMountGoat
A picture of a T-posed Mario model open in Blender
Library for reading and writing binary file formats related to rendering for Smash Ultimate and other Bandai Namco games

espflash by Robin Appelman, Jesse Braham, and the esp-rs team.
A terminal with 3 colorful progress bars showing a firmware image being flash. 2 are complete, and one is roughly halfway complete.
A flashing tool for ESP chip that uses binrw to parse responses from the ESP flashing procedure

smash-arc by @jam1garner (He/Him)
An aesthetically pleasing file browser with a file called "dark_model.numatb" highlighted. It's description is labelled "Material Container" and info regarding its size, copmression, offset, full path, etc is listed on the right-hand side
Parser for Smash Ultimate's archive format, allowing for parsing the entire 16 GB file over the network in a fraction of a second.

Geothite by @leo60228
A dimly lit Pebble Time smartwatch with the backlight on. It shows a white screen with the centered, black text "Hello from Rust!" showing
Geothite is an Open-Source Rust SDK for Pebble smartwatches, and uses binrw for working with all of the pebble file formats

DK Punch Bot by Viv (@vivviridian) (She/Her)
A tweet from user @dkpunchbot from October of 2021. It shows a paused video of a polygonal Ape punching a bounty hunter from space on top of a ship from the starfox series. The bounty hunter is at high damage and is moments away from being flung out into the cold, dark abyss of space
dkpunchbot is a twitter bot which records videos of Donkey Kong throwing extremely strong punches. binrw is used to read/write N64 emulator RAM for choreography and to adjust attributes, including the strength of DK's punch.

hapi-rs by @Skirmisher
A visibly dated Real-Time Strategy game featuring turrets shooting at each other on a green grass hill. Some low-resolution gray buttons show the options of "orders", "build", "move", "stop", "guard" and "patrol".
hapi-rs uses binrw in order to create and extract HAPI archives from the 1997 RTS "Total Annihilation"

nod-rs by @encounter
Two optical disks, label-side facing away. One is smaller and designed for the gamecube while another is typical DVD size and is designed for the Wii
nod-rs is a library that enables traversing & reading GameCube and Wii disc images

choadra by @octylFractal
Minecraft frog,,,,
choadra is a Minecraft Protocol implementation using Rust and binrw.

vpk-rs by Roman Shishkin
A map from Counter-Strike: Global Offensive open in Valve's "Hammer World Editor"
A parser for the ValvePak format (vpk) used in Source games

pmd_wan by @marius851000
A page of the pokemon Furret's various expression sprites present in Pokemon Myster Dungeon laid out in a grid and labelled. The images range in tone from adorable to deceased.
pmd_wan uses binrw to parse various file formats used in the Pokemon Mystery Dungeon games

flyr by Arthur Nieuwland
A thermal image of a seemingly warm house
Flyr is a Rust library which can parse FLIR thermal image data using binrw

w101_wad_parse by @MGlolenstine
A terminal showing a Wizard 101 Archive being extracted
w101_wad_parse is a utility that allows you to extract files from the WAD archives that are present in the Wizard 101 game.

brsar-rs by @Kitlith
A terminal showing a Nintendo games' archive being extracted
brsar-rs is a library for parsing Wii BRSAR Archive files used in various Nintendo Games.

(Want your project removed from the list? Has the name used here become outdated? Please let @jam1garner know on Discord, Twitter, Matrix, or by email ("jam (at) jam1.re"), in order of preference)


Picture of GameCube and Wii Disks is by FullMetal Falcon - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=2195543