Open Design

What is Octopus?

Octopus is a JSON-based universal design format that can represent any design element in any of its supported formats. The ability to represent many different design formats in a standard way is one of the biggest advantages of using Open Design to build your application. You can target a single well-defined format and leave the minutia of confusing and inconsistent design formats to us.

Octopus supports design features from five mainstream design formats. You can learn more about what specific features are supported on this page. The following formats are supported:

  • Figma
  • Sketch
  • Adobe XD
  • Adobe Photoshop
  • Adobe Illustrator

You can learn more about specific parts of the Octopus format on this page. The format is intended to be lightweight, well-defined, human-readable, and easy to generate and parse.

Importing a design

When a design is imported to Open Design, it is converted from its original format into Octopus. The import process involves:

  1. Parsing the design into JSON (if it isn't already)
  2. Mapping the data from the source JSON into the Octopus format
  3. Normalizing values (for example, bounds need to be changed to use the Octopus coordinate system)
  4. Passing the design to Render to calculate dynamic design data (for example, the actual width of a text box that is using Sketch Smart Layout)

Tracking design format updates

The Open Design team tracks new releases of all supported design tools. In a case where the update breaks functionality that is currently supported, the team will prioritize that and deliver a fix promptly. In a case where a new feature is introduced, support will be built based on customer demand. You can learn more about the supported features here.