Amazon Ion is a richly-typed, self-describing, hierarchical data serialization format offering interchangeable binary and text representations. The text format (a superset of JSON) is easy to read and author, supporting rapid prototyping. The binary representation is efficient to store, transmit, and skip-scan parse. The rich type system provides unambiguous semantics for long-term preservation of business data which can survive multiple generations of software evolution.

Available Libraries: Ion JavaIon CIon PythonIon JavaScript

Related Projects: Ion Schema


Latest News


Ion Java Path Extraction 1.0.0 Released
12 November 2018

Ion Path Extraction API aims to combine the convenience of a DOM API with the speed of a streaming API.

The user can register search paths and callbacks with the extractor that will read the Ion document in the most efficient way looking for the registered paths. When it matches a search path it will invoke the correspondent callback.

GitHub Repository

Ion Schema Specification 1.0 Released
05 November 2018

This new specification describes a language and set of constraints used to declaratively constrain Ion values. Types defined by a schema could be used to:

A reference implementation of Ion Schema is now available as open source software. It is written in Kotlin, and should be considered alpha software.

Ion Schema Specification Reference Implementation

Visit the News page for more announcements about Amazon Ion.


Ion Text Example

/* Ion supports comments. */
// Here is a struct, which is similar to a JSON object.
{
  // Field names don't always have to be quoted.
  name: "fido",

  // This is an integer with a user annotation of 'years'.
  age: years::4,

  // This is a timestamp with day precision.
  birthday: 2012-03-01T,

  // Here is a list, which is like a JSON array.
  toys: [
    // These are symbol values, which are like strings,
    // but get encoded as integers in binary.
    ball,
    rope
  ],
}

The Specification gives an overview of the full list of the core data types.


More Information

Ion was built to address rapid development, decoupling, and efficiency challenges faced every day while engineering large-scale, service-oriented architectures. Ion has been addressing these challenges within Amazon for nearly a decade, and we believe others will benefit as well.

To find out more about the Ion format and for guides on using it, check out the Docs page. The Libs page contains links to the officially supported libraries as well as community supported tools. The Help page contains information on how to contribute, how to contact the Ion Team, and answers to the frequently asked questions.