# google/flatbuffers

FlatBuffers: Memory Efficient Serialization Library

Repository: https://github.com/google/flatbuffers
Canonical: https://ross.abutalabs.com/products/flatbuffers
Homepage: https://flatbuffers.dev/
Language: C++
License: Apache-2.0
License Family: permissive
Topics: flatbuffers, serialization, serialization-library, json-parser, marshalling, rpc, zero-copy, mmap, cross-platform, c-plus-plus, java, c-sharp, go, python, rust, javascript, typescript, grpc, c, protobuf
Last push: 2026-08-11T19:49:45+00:00

## Health v2 (maintenance only)
Score: 84/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 97, release rhythm 57, longevity 100
- inputs: {"age_days": 4489, "days_push": 22, "days_rel": 208, "gap_med": 38.5, "n_releases_24m": 7}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 26411, forks 3633 (observed 2026-08-28T04:11:46.935218+00:00)

## What it is
FlatBuffers is Google's cross-platform, memory-efficient serialization library that stores data in a binary format you can read directly without a parsing or unpacking step. It ships a schema compiler (flatc) that generates accessors and builders for many languages, including C++, Java, C#, Go, Python, Rust, and JavaScript, with forwards/backwards schema compatibility.

## Use cases
- serialize data efficiently across multiple programming languages
- read serialized data with zero-copy, no parsing or unpacking
- fast binary serialization for games and performance-critical apps
- evolve a data schema while keeping backwards and forwards compatibility
- replace protocol buffers or JSON with a faster binary format
- convert JSON into a compact binary representation
- access large serialized files via memory-mapped buffers on mobile or embedded devices

## When to choose
- you need maximum memory efficiency and speed in serialization hot paths
- you must exchange structured data between different languages or schema versions
- you target game development, Android, or embedded systems where footprint and allocation matter
- you want to read buffers directly without per-object heap allocations

## When to avoid
- you need human-readable output or easy ad-hoc introspection, where JSON is a better fit
- your data is fully dynamic with no schema known ahead of time
- you rely on the broad RPC and tooling ecosystem of protocol buffers
- you want a trivial setup for small configs where JSON or YAML suffices

## Facets
- artifact type: library
- maturity: stable
- function: serialization, compiler, parser
- domain: developer-tools, mobile-development, embedded-systems, performance
- platform: cross-platform, cpp, c, rust, go, python, jvm, dotnet, embedded
- tags: zero-copy, schema-compiler, flatc, code-generation, binary-format, schema-evolution, grpc, protobuf-alternative, mmap, memory-efficiency, json-conversion, game-development, android, ios

## Member repositories
- google/flatbuffers (main) score 84

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:46.935218+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T16:55:52.684844+00:00, confidence not recorded.
  - readme: https://github.com/google/flatbuffers (fetched 2026-08-28T04:11:46.935218+00:00, sha 6572c9069919)
  - homepage: https://flatbuffers.dev/ (fetched 2026-08-29T07:52:10.362289+00:00, sha fe7d25525e2c)
- Data as of 2026-08-30T08:39:29.467469+00:00.
