Memory Efficient Serialization Library
C++ C# Go Python PHP Java Other
Latest commit 1910182 Jan 14, 2017 @aardappel aardappel Fix unused field warning in clang.
Change-Id: I71d590a1e5b2709f0e2dcf97faaebda5cb918fc7
Tested: on Linux.
Failed to load latest commit information.
CMake Debianization with CPack Aug 24, 2016
android Merge "Removed reference to deprecated NDK toolchain version." into u… May 23, 2016
biicode Made .sh files all have same comment formatting. May 23, 2016
docs Documentation improvements: style guide & guide lines. Dec 20, 2016
go Resolve Go fmt and vet warnings (#4134) Jan 10, 2017
grpc Fix C++ gRPC test with streaming method (#4123) Dec 28, 2016
include/flatbuffers Add CodeWriter utility class. Jan 14, 2017
java/com/google/flatbuffers Fixed Java LookupByKey functionality for Java 1.6 Aug 26, 2016
js Fix Closure Compiler warnings (#4067) Oct 21, 2016
net/FlatBuffers Added IFlatbufferObject.cs file to project for .net. Sep 19, 2016
php [PHP] Use mb_detect_encoding when available (#3952) Nov 16, 2016
python Added missing licenses to some sh/cs/py files. May 23, 2016
reflection Made .sh files all have same comment formatting. May 23, 2016
samples Add CodeWriter utility class. Jan 14, 2017
src Fix unused field warning in clang. Jan 14, 2017
tests Fix unused field warning in clang. Jan 14, 2017
.gitattributes Initial commit of the FlatBuffers code. Jun 10, 2014
.gitignore chore(lint) (#4079) Nov 7, 2016
.travis.yml Disabled broken biicode builds on Travis for the moment. Feb 22, 2016
CMakeLists.txt Add CodeWriter utility class. Jan 14, 2017 Rename CONTRIBUTING to Jul 13, 2016 Create basic issue template (#4107) Dec 7, 2016
LICENSE.txt Fix Visual Studio 2012 build warning. Sep 11, 2015
appveyor.yml Improving AppVeyor CI with other languages. Dec 13, 2016
biicode.conf added .travis.yml file (build with original and biicode building); Apr 15, 2015
composer.json (PHP) add experimental support for PHP language. Nov 17, 2015
pom.xml Updated version to 1.5 Jan 3, 2017 Add Gitter badge (#4075) Nov 18, 2016

logo FlatBuffers

Join the chat at Build Status Build status

FlatBuffers is an efficient cross platform serialization library for games and other memory constrained apps. It allows you to directly access serialized data without unpacking/parsing it first, while still having great forwards/backwards compatibility.

Go to our landing page to browse our documentation.

Supported operating systems

  • Android
  • Windows
  • MacOS X
  • Linux

Supported programming languages

  • C++
  • C#
  • C
  • Go
  • Java
  • JavaScript
  • PHP
  • Python

and many more in progress...


To contribute to this project, see CONTRIBUTING.


For applications on Google Play that integrate this tool, usage is tracked. This tracking is done automatically using the embedded version string (flatbuffer_version_string), and helps us continue to optimize it. Aside from consuming a few extra bytes in your application binary, it shouldn't affect your application at all. We use this information to let us know if FlatBuffers is useful and if we should continue to invest in it. Since this is open source, you are free to remove the version string but we would appreciate if you would leave it in.


Flatbuffers is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.