Awesome Open Source
Awesome Open Source


Build Status

A MessagePack encoder and decoder for Codable types.

This functionality is discussed in Chapter 7 of Flight School Guide to Swift Codable.


  • Swift 4.2+


Encoding Messages

import MessagePack

let encoder = MessagePackEncoder()
let value = try! encoder.encode(["a": 1, "b": 2, "c": 3])
// [0x83, 0xA1, 0x62, 0x02, 0xA1, 0x61, 0x01, 0xA1, 0x63, 0x03]

Decoding Messages

import MessagePack

let decoder = MessagePackDecoder()
let data = Data(bytes: [0xCB, 0x40, 0x09, 0x21, 0xF9, 0xF0, 0x1B, 0x86, 0x6E])
let value = try! decoder.decode(Double.self, from: data)
// 3.14159


Swift Package Manager

Add the MessagePack package to your target dependencies in Package.swift:

import PackageDescription

let package = Package(
  name: "YourProject",
  dependencies: [
        url: "",
        from: "1.2.3"

Then run the swift build command to build your project.


You can install MessagePack via CocoaPods, by adding the following line to your Podfile:

pod 'MessagePack-FlightSchool', '~> 1.2.3'

Run the pod install command to download the library and integrate it into your Xcode project.

Note The module name for this library is "MessagePack" --- that is, to use it, you add import MessagePack to the top of your Swift code just as you would by any other installation method. The pod is called "MessagePack-FlightSchool" because there's an existing pod with the name "MessagePack".




Mattt (@mattt)

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
swift (7,627
codable (34
messagepack (23

Find Open Source By Browsing 7,000 Topics Across 59 Categories