Skip to main content

What is Object Display?

Object Display is a way to render any object on Sui using templating syntax. It renders Sui Move object values into human-readable strings, JSON, or encoded representations. A Display object defines a set of key-value pairs where both keys and values are format strings.

Object Display enables on-chain management of off-chain representation for a type. You can create fully composable and dynamic NFTs by substituting data for an object into a template string.

Check out the interactive preview application to see how you can use Object Display.

V1 end of life

caution

Object Display V2 will be available in Sui v1.68. Check the release schedule to learn more about when v1.68 is available on Devnet, Testnet, and Mainnet.

Object Display V1 will be supported by RPCs that already have support for it (JSON-RPC, GraphQL) until the end of July 2026. After that, on-chain V1 display code will be decommissioned and will start aborting.

Use the sui::display_registry APIs when creating display from Move code. For the intermediate phase, use the migrate_v1_to_v2 function to migrate a legacy display and receive the V2 Display<T> and DisplayCap<T>.

What's new in V2

Display V2 brings a richer templating model, improved rendering pipeline, and better tooling, including:

  • Collection access: Use vectors, sets, and maps directly in your display templates.

  • Dynamic field access: Reference dynamic fields on objects in your templates.

  • Object loading: Load and reference objects when resolving display.

  • GraphQL: Rich APIs to use display as a querying tool, not just for rendering.

Read more about the new templating language and try the visual display builder.