# What is Object Display?

*[Documentation index](/llms.txt) · [Full index](/llms-full.txt)*

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 onchain management of offchain 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](/develop/objects/display/display-preview) to see how you can use Object Display.

## Current standard: Display V2

Object Display V2 is the current Object Display standard. It replaces the legacy V1 event-discovery model with a registry-backed model where each type has one deterministic `Display<T>` derived from the global display registry and the type.

Use the `sui::display_registry` APIs when creating a display from Move code. For legacy displays, use `migrate_v1_to_v2` only if you are explicitly migrating a V1 display that was not already migrated by the system snapshot.

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 templating language and try the visual display builder](/develop/objects/display/display-preview).
