Skip to content
Swift Codable-like interfaces for binary representations.
Branch: develop
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
Docs Update all docs with new container APIs. (#41) Feb 26, 2019
Tests Update Swift versions for Travis CI. (#48) Jul 8, 2019
.gitignore Add proof of concept protobuf decoder tests (#15) Feb 23, 2019
.travis.yml Update to Swift 5.0.2 (#49) Jul 17, 2019
BinaryCodable.podspec Bump the release to 0.2.1 Mar 2, 2019 Update changelog. Mar 2, 2019
LICENSE Initial commit. Feb 18, 2019

Binary Codable

Binary Codable provides Swift Codable-like interfaces for converting types to and from binary representations.

Binary Codable is optimized for reading and writing blocks of binary data as a stream of bytes. This makes Binary Codable useful for network protocols, binary file formats, and other forms of tightly-packed binary information.

This is not an official Google product.


  • Encode from Swift types to Data.
  • Decode from Data to Swift types.
  • Efficiently encode/decode large blocks of arbitrary data.
  • Lazy decoding (read bytes from a source only as they're needed).
  • Encode and decode fixed-width integer types.
  • Encode and decode strings with or without terminators.
  • Cap decoding containers to a maximum length.

Known usage in the wild

  • BinaryCookies: Read and write Apple's .binarycookies files.
  • MySqlConnector: A pure Swift implementation of the MySql client/server protocol.


  • Swift 4.2.2+

Supported technologies

  • iOS 12.0+ / macOS 10.12+
  • Xcode 10.1+
  • Ubuntu 16.04


BinaryCodable is released under the Apache 2.0 license. See LICENSE for more details.

You can’t perform that action at this time.