The Concise Binary Object Representation (RFC 8949) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation.

It's a pure Lua implementation, without dependency.

In order to stay a small module, there is no extension included. But the API allows to register the standard extension (published by IANA ) or your own.


The homepage of CBOR is available at

CBOR is specified in the RFC-8949.


lua-ConciseSerialization is in beta stage.

It's developed for Lua 5.1, 5.2, 5.3 & 5.4. There are 2 variants:

  • one compatible with all interpreters since Lua 5.1
  • another which uses the Lua 5.3 features


The sources are hosted on Framagit.

The Teal type definition of this library is available here.


lua-ConciseSerialization is available via LuaRocks:

luarocks install lua-conciseserialization
# luarocks install lua-conciseserialization-lua53

lua-ConciseSerialization is available via opm:

opm get fperrad/lua-cbor

or manually, with:

make install LUAVER=5.2


The test suite requires the module lua-TestAssertion.

make test

Copyright © 2016-2023 François Perrad

This library is licensed under the terms of the MIT/X11 license, like Lua itself.