nowfound

Work · March 28, 2025

Hexi – Modern header-only network binary serialisation for C++

Over the last few years, I've needed an easy way to quickly serialise and deserialise various network protocols safely and efficiently. Most of the libraries that existed at the time were either quite heavy, had less than stellar performance, or were an abstraction level above what I was looking for. I decided to put together my own class to do the job, starting with an easy, low-overhead way to move bytes in and out of arbitrary buffers. Along the way, it picked up useful bits and pieces, such as buffer structures and allocators that made the byte shuffling faster, often being able to do it…

Hexi – Modern header-only network binary serialisation for C++ launched on March 28, 2025 with 118 votes, #374 of 7,215 launches that month and more than 95% of that year's launches. The site was still online in September 2026, 1 year on.

Visit github.com ↗Alternativestop 5% of March 2025

In plain words

Hexi is a header-only C++ library for serializing and deserializing network protocols. It provides low-overhead byte manipulation with optimized buffer structures and allocators that minimize memory allocations and copies. The library includes safety features to prevent vulnerabilities and crashes from malicious or malformed packet data. It is designed for developers who need efficient, lightweight network protocol handling without the overhead of heavier existing solutions.

written from the facts on this page · September 2026

From the sources

Header-only, lightweight C++ library for binary streaming & serialization. Network data handling made easy peasy! - EmberEmu/Hexi

Hexi is a lightweight, header-only C++23 library for safely handling binary data from arbitrary sources (but primarily network data). It sits somewhere between manually memcpying bytes from network buffers and full-blown serialisation libraries. Some of the protocols Hexi is used to handle include DNS , STUN , NAT Port Mapping Protocol , Port Control Protocol , World of Warcraft (emulators) and GameSpy (emulators). Of course, nothing stops you from defining your own! The design goals are ease of use, safety when dealing with untrusted data and in the face of programmer mistakes, a reasonable level of flexibility, and keeping overhead to a minimum. What Hexi doesn't offer: versioning,…from github.com

In the maker’s words, at launch

Over the last few years, I've needed an easy way to quickly serialise and deserialise various network protocols safely and efficiently. Most of the libraries that existed at the time were either quite heavy, had less than stellar performance, or were an abstraction level above what I was looking for. I decided to put…

Does a similar job

all alternatives →
  • Serialize++ – Tiny Data Serialization Library for C++2019 · github.com · ▲37

    Fast and simple data serialization for C++. Contribute to apankrat/cpp-serializer development by creating an account on GitHub.

  • A Fast, Malloc-Free C++14 Json Parser and Encoder2014 · github.com · ▲98

    Meta programming utilities for C++14. Merged in matt-42/lithium - matt-42/iod

  • A hash array-mapped trie implementation in C2023 · github.com · ▲171

    Long-simmering side project that is finally ready to see the light. HAMTs are a cool persistent data structure and implementing one has been a lot of fun. Beyond the code, there is likely some value in the extensive and largely complete implementation docs; basic benchmarks are linked in the README, too. Kind of aiming to be "the libavl for HAMTs". That is obviously a high and aspirational bar but a distinct possibility if it stirs up a little interest and/or contribution. Anyways, it's time for this to go out, collect feedback and maybe even some use outside of toy projects. Let me…

  • A pure C89 implementation of Go channels, with blocking selects2023 · github.com · ▲271

    A pure C (-std=c89) implementation of Go channels, including blocking and non-blocking selects. - GitHub - rochus-keller/CspChan: A pure C (-std=c89) implementation of Go channels, including blocking and non-blocking selects.

  • The Silicon C++14 Web Framework2015 · github.com · ▲140

    A high performance, middleware oriented C++14 http web framework please use matt-42/lithium instead - matt-42/silicon

  • AF
    Apache Fory Rust – 10-20x faster serialization than JSON/ProtobufOct 2025 · fory.apache.org · ▲67

    Serialization framework with some interesting numbers: 10-20x faster on nested objects than json/protobuf. Technical approach: compile-time codegen (no reflection), compact binary protocol with meta-packing, little-endian layout optimized for modern CPUs. Unique features that other fast serializers don't have: - Cross-language without IDL files (Rust ↔ Python/Java/Go) - Trait object serialization (Box) - Automatic circular reference handling - Schema evolution without coordination Happy to discuss design trade-offs. Benchmarks:…

More work this month

the category →

Source: Show HN post ↗ · launch text quoted in part

Launched alongside, March 2025

the whole month →
  • Mimic Human Research & Save Findings in AI Knowledge Base

    AI · 2025 · sider.ai

  • Turn your ideas into products that sell

    AI · 2025 · atoms.dev

  • Aha▲1,152

    The world's first AI influencer marketing team

    AI · 2025 · ahacreator.com

  • Fluently▲976

    Start speaking English as well as your native language

    AI · 2025 · getfluently.app

  • Conversational AI surveys, interviews, user tests, polls

    AI · 2025 · theysaid.io

  • Record your screen, share instantly, look like a PRO

    Growth · 2025 · supercut.ai