awesome-repositories.com
Blog
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

Byte stream decoders

Ranking updated Jun 30, 2026

For a library for decoding byte streams, the strongest matches are protocolbuffers/protobuf (Protocol Buffers is a language-neutral library that decodes efficient), msgpack/msgpack (MessagePack is a binary serialization library that decodes binary) and google/protobuf (Protocol Buffers is a mature, cross-language binary serialization framework). ffmpeg/ffmpeg and protobufjs/protobuf.js round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Find the best byte stream decoders for your project. We ranked top open-source libraries by activity and features to help you pick the right one.

Byte stream decoders

Find the best repos with AI.We'll search the best matching repositories with AI.
  • protocolbuffers/protobufprotocolbuffers avatar

    protocolbuffers/protobuf

    71,359View on GitHub↗

    Protocol Buffers is a language-neutral, platform-agnostic mechanism for serializing structured data. It provides a schema-driven toolchain that compiles declarative data definitions into type-safe source code, enabling consistent communication and strongly typed API contracts across services written in different programming languages. The project distinguishes itself through a highly efficient binary wire format that utilizes tag-based encoding and variable-width integer compression to minimize payload size and processing overhead. It supports robust evolutionary schema management, allowing d

    Protocol Buffers is a language-neutral library that decodes efficient binary streams into structured data using a schema-driven toolchain, covering serialization, high performance, language bindings, and evolutionary schema resilience, which aligns with the need for a binary stream decoder.

    C++Length-Delimited EncodingsTag-Based Binary EncodingsVariable-Width Integer Encodings
    View on GitHub↗71,359
  • msgpack/msgpackmsgpack avatar

    msgpack/msgpack

    7,472View on GitHub↗

    MessagePack is a binary object serialization library and a cross-platform data exchange format. It serves as a binary alternative to JSON, converting structured data into a space-efficient binary representation for network transmission and storage. The system provides a standardized format for swapping complex data types across different programming languages and architectures. It allows for the definition of custom data type encoding by pairing application-specific information with specialized serialization markers. The library handles the encoding and decoding of diverse data types, includ

    MessagePack is a binary serialization library that decodes binary streams into structured data, making it a direct fit for this search; however, it focuses on its own single format rather than supporting multiple binary formats like Protobuf or BSON.

    Length-Delimited EncodingsVariable-Width Integer EncodingsBinary Data Formats
    View on GitHub↗7,472
  • google/protobufgoogle avatar

    google/protobuf

    71,412View on GitHub↗

    Protocol Buffers is a binary serialization framework used to encode structured information into compact payloads to reduce network bandwidth and storage. It functions as a cross-language data interchange standard that enables different platforms and languages to exchange structured data using a shared schema. The project includes an interface definition language compiler that transforms schema definitions into type-safe source code for multiple target programming languages. This mechanism decouples data structures from specific language memory layouts and ensures consistent data handling acro

    Protocol Buffers is a mature, cross-language binary serialization framework that efficiently encodes and decodes structured data from compact byte streams, directly matching the need for a binary stream decoder library with high performance and extensive language bindings.

    C++Variable-Width Integer Encodings
    View on GitHub↗71,412
  • ffmpeg/ffmpegFFmpeg avatar

    FFmpeg/FFmpeg

    61,176View on GitHub↗

    FFmpeg is a cross-platform multimedia framework designed for the recording, conversion, and streaming of audio and video content. It functions as a comprehensive toolkit that provides both a command-line utility for direct media manipulation and a collection of low-level libraries for integration into custom applications. At its core, the project utilizes a packet-based stream engine and a format-agnostic abstraction layer to handle diverse media standards, containers, and network protocols. The framework distinguishes itself through a modular, graph-based filter execution model that allows f

    FFmpeg is a comprehensive multimedia framework built around low-level libraries (libavcodec, libavformat) that decode binary streams into structured media data, supporting a vast number of formats, streaming, high performance, and language bindings, making it an excellent fit for decoding binary byte streams.

    CMultimedia Format ConvertersMultimedia Processing SuitesAudio and Video
    View on GitHub↗61,176
  • protobufjs/protobuf.jsprotobufjs avatar

    protobufjs/protobuf.js

    10,558View on GitHub↗

    protobuf.js is a JavaScript and TypeScript library for encoding and decoding structured data using the Protocol Buffers binary format. It functions as a dynamic parser that can load and process schemas at runtime, a JSON transcoder for converting messages to human-readable formats, and a framework for building transport-agnostic remote procedure call clients. The project distinguishes itself by offering both dynamic message handling and a static code generator that produces TypeScript declarations and JavaScript modules to reduce runtime overhead. It also provides a reflection API for definin

    protobuf.js is a JavaScript library that decodes and encodes Protocol Buffers binary streams, making it a precise fit for your search for a binary stream decoder library, though it focuses on a single format rather than multi-format support.

    JavaScriptLength-Delimited Encodings
    View on GitHub↗10,558
  • nlohmann/jsonnlohmann avatar

    nlohmann/json

    49,944View on GitHub↗

    This library is a header-only C++ framework designed for the serialization, parsing, and manipulation of structured data. It provides a recursive variant data model that represents arbitrary structures as native types, allowing developers to navigate, modify, and patch hierarchical data using standard pointer paths and declarative update patterns. The project distinguishes itself through its template-based architecture, which enables type-safe data structures and custom type mapping at compile time. It offers a unified interface for binary format abstraction, supporting multiple compact repre

    nlohmann/json is a high-performance C++ library for parsing and serializing structured data in multiple formats including JSON, CBOR, MessagePack, and BSON, directly matching your need for a binary stream decoder library with broad format support and streaming capabilities, though it is C++-specific without official bindings to other languages.

    C++Binary Data Formats
    View on GitHub↗49,944
  • esotericsoftware/kryoEsotericSoftware avatar

    EsotericSoftware/kryo

    6,529View on GitHub↗

    Kryo is a Java binary serialization framework and object cloning library used to convert Java objects into a compact binary format and restore them from bytes. It provides a system for creating deep or shallow copies of complex object graphs without requiring binary conversion. The project utilizes variable-length integer encoding and integer-ID class registration to reduce the size of serialized data. It handles complex object graphs through circular reference tracking to prevent data duplication and infinite loops. To maintain long-term data viability, it includes schema evolution managemen

    Kryo is a Java binary serialization and deserialization library that converts objects to and from compact binary streams, directly fitting the need for a tool that decodes byte streams into structured data; it offers high performance and error resilience via schema evolution, but focuses on a single binary format and Java only, which narrows its multi-format and language-binding coverage.

    HTMLVariable-Width Integer Encodings
    View on GitHub↗6,529
  • bblanchon/arduinojsonbblanchon avatar

    bblanchon/ArduinoJson

    7,176View on GitHub↗

    ArduinoJson is a C++ library for parsing and manipulating JSON data and MessagePack binary streams on microcontrollers with limited memory and processing power. It provides the core primitives necessary for embedded data serialization and parsing, enabling devices to exchange structured data over serial or network interfaces. The library is distinguished by its focus on microcontroller memory management, employing strategies such as pool-based allocation, string deduplication, and non-owning string views to minimize RAM usage. It further optimizes for constrained environments by allowing cons

    ArduinoJson decodes JSON and the binary MessagePack format on microcontrollers, making it a capable binary stream decoder library for embedded use—though its narrow format support and C++-only binding mean it's not a general-purpose multi-format solution.

    C++Incremental JSON ParsingParsing Exception Handling
    View on GitHub↗7,176
  • google/flatbuffersgoogle avatar

    google/flatbuffers

    25,558View on GitHub↗

    FlatBuffers is a cross-platform serialization library designed for performance-critical applications that require efficient, zero-copy data access. By organizing data in a structured binary format, it allows applications to read and write complex data structures directly from memory-mapped buffers without the need for intermediate parsing or temporary object allocation. The project distinguishes itself through a schema-driven approach that balances high-performance access with long-term data evolution. It utilizes a unique memory layout featuring relative offsets and inline fixed-size structu

    FlatBuffers is a schema-driven serialization library with zero-copy binary decoding and broad language support, fitting your need for a binary stream decoder—though it focuses on its own format rather than multi-format or streaming decoding.

    C++Code GeneratorsData Serialization FormatsSchema Definition Languages
    View on GitHub↗25,558
  • nothings/stbnothings avatar

    nothings/stb

    33,970View on GitHub↗

    This project is a collection of portable, header-only C functions designed for integration into software projects without complex build dependencies or external linking requirements. It provides a suite of low-level utilities for graphics, audio, and data management, focusing on direct memory manipulation and zero-dependency portability. By utilizing a single-header distribution model, the library simplifies dependency management while allowing developers to maintain full control over memory allocation and binary size through compile-time configuration. The library distinguishes itself by off

    stb is a collection of header-only C libraries that decode specific binary file formats (images, audio, fonts) into usable data, so it fits the intent of decoding binary streams for file formats, but it is not a unified general-purpose decoder library and lacks streaming and multi-language support.

    CSingle-Header LibrariesText RenderingAudio Processing
    View on GitHub↗33,970
  • mozilla/pdf.jsmozilla avatar

    mozilla/pdf.js

    53,454View on GitHub↗

    This project is a portable document rendering engine designed to parse and display complex document layouts directly within standard web browser environments. It functions as a web-native viewer that enables the presentation of documents without requiring external software or browser plugins. The engine utilizes a canvas-based rendering layer to map document page data onto standard web drawing surfaces, ensuring high-fidelity visual output. To maintain interface responsiveness, it offloads heavy parsing and object extraction tasks to background threads. The system also employs asynchronous by

    pdf.js is a web-native PDF rendering library that decodes binary PDF streams into structured document objects, making it a solid match for binary decoder needs—though it focuses solely on the PDF format rather than supporting multiple serialization formats.

    JavaScriptWeb-Based Document ViewersCanvas Rendering EnginesBackground Parsing Workers
    View on GitHub↗53,454
  • geal/nomGeal avatar

    Geal/nom

    10,422View on GitHub↗

    nom is a Rust parser combinator framework used to build complex parsers for binary and text data. It functions as an abstract syntax tree generator and a bit-level binary parser, allowing users to construct structured data by combining small, reusable parsing functions. The framework provides specialized support for zero-copy binary parsing, extracting data as slices from raw byte arrays to avoid memory allocations. It also includes a streaming data parser capable of processing partial input chunks from networks or files and signaling when additional input is required. The project covers a b

    nom is a Rust parser combinator framework for building parsers that decode binary and text streams into structured data, supporting streaming input, zero-copy parsing, and error resilience — exactly the kind of library this search targets, though it is Rust-specific only.

    RustParser CombinatorsBinary Data ParsersBit-Level Binary Parsers
    View on GitHub↗10,422
  • nodejs/http-parsernodejs avatar

    nodejs/http-parser

    6,445View on GitHub↗

    http-parser is a C-based library for extracting request and response metadata from raw HTTP data streams. It utilizes a state-machine approach to identify message segments and boundaries. The project implements zero-copy string parsing and pointer-based URL deconstruction to avoid memory allocations and data duplication. It supports incremental stream processing to handle fragmented data chunks and includes mechanisms for decoding chunked encoding and managing network protocol upgrades.

    http-parser is a C library that decodes raw HTTP byte streams into structured metadata with streaming and zero-copy support, making it a precise fit for the "binary stream decoder library" category, though it is limited to HTTP rather than covering multiple formats.

    CState-Machine ParsersIncremental Body ProcessingIncremental Stream Processing
    View on GitHub↗6,445
  • nodeca/pakonodeca avatar

    nodeca/pako

    6,081View on GitHub↗

    Pako is a pure JavaScript compression library that ports the C zlib library to JavaScript, providing deflate and gzip compression and decompression capabilities. It runs in both browser and Node.js environments by using typed arrays and universal JavaScript, avoiding platform-specific APIs for cross-platform compatibility. The library handles data through bitwise operations for Huffman coding and LZ77 matching, and automatically encodes string inputs to UTF-8 before compression while decoding them back on decompression. It supports streaming chunk-based processing, allowing incremental data h

    Pako is a JavaScript port of zlib that decodes deflate and gzip compressed byte streams with streaming support, making it a binary stream decoder library—just one focused on compression rather than general multi-format or serialization needs.

    JavaScriptAutomatic UTF-8Automatic UTF-8 String CompressionBitwise Compression Algorithms
    View on GitHub↗6,081
  • nanopb/nanopbnanopb avatar

    nanopb/nanopb

    5,437View on GitHub↗

    Nanopb is a lightweight C implementation of Protocol Buffers designed for resource-constrained systems and microcontrollers. It functions as both an embedded serialization library for encoding and decoding structured data and a code generator that transforms definition files into compact C source and header files. The project is distinguished by its focus on static memory allocation, using fixed maximum sizes for strings and arrays to avoid dynamic memory allocation and heap fragmentation. It employs a callback-based streaming mechanism to process messages or fields that exceed available phys

    nanopb is a lightweight C library that decodes Protocol Buffers binary streams into structured data with callback-based streaming and static memory allocation, fitting the search for a binary stream decoder library despite being limited to a single format and C bindings.

    CEmbedded Serialization UtilitiesProtocol Buffer ImplementationsStatic Memory Allocations
    View on GitHub↗5,437
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
protocolbuffers/protobuf71.4KC++NOASSERTIONJun 16, 2026
msgpack/msgpack7.5K——Aug 10, 2024
google/protobuf71.4KC++NOASSERTIONJun 26, 2026
ffmpeg/ffmpeg61.2KCNOASSERTIONJun 16, 2026
protobufjs/protobuf.js10.6KJavaScriptNOASSERTIONJun 23, 2026
nlohmann/json49.9KC++MITJun 12, 2026
esotericsoftware/kryo6.5KHTMLBSD-3-ClauseJun 10, 2026
bblanchon/arduinojson7.2KC++MITMay 28, 2026
google/flatbuffers25.6KC++apache-2.0Feb 18, 2026
nothings/stb34KCNOASSERTIONApr 15, 2026

Related searches

  • a binary serialization format for structured data
  • a binary decompiler
  • a binary unpacking toolkit
  • a high performance serialization library for Go
  • a tool for disassembling compiled binary files
  • a high performance JSON parsing library
  • a rust library for data compression
  • a library for parsing command output into structured data