---
title: ProductOption - Storefront API
description: >-
  A customizable product attribute that customers select when purchasing, such
  as

  "Size", "Color", or "Material". Each option has a name and a set of
  [`ProductOptionValue`](/docs/api/storefront/2026-07/objects/ProductOptionValue)

  objects representing the available choices.


  Different combinations of option values create distinct
  [`ProductVariant`](/docs/api/storefront/2026-07/objects/ProductVariant)

  objects. Option values can include visual swatches that display colors or
  images

  to help customers make selections. Option names have a 255-character limit.


  Learn more about [Shopify's product
  model](https://shopify.dev/docs/apps/build/product-merchandising/products-and-collections).
api_version: 2026-07
source_url:
  html: 'https://shopify.dev/docs/api/storefront/latest/objects/ProductOption'
  md: 'https://shopify.dev/docs/api/storefront/latest/objects/ProductOption.md'
api_name: storefront
api_type: graphql
type: object
---

# Product​Option

object

Requires `unauthenticated_read_product_listings` access scope.

A customizable product attribute that customers select when purchasing, such as "Size", "Color", or "Material". Each option has a name and a set of [`ProductOptionValue`](https://shopify.dev/docs/api/storefront/2026-07/objects/ProductOptionValue) objects representing the available choices.

Different combinations of option values create distinct [`ProductVariant`](https://shopify.dev/docs/api/storefront/2026-07/objects/ProductVariant) objects. Option values can include visual swatches that display colors or images to help customers make selections. Option names have a 255-character limit.

Learn more about [Shopify's product model](https://shopify.dev/docs/apps/build/product-merchandising/products-and-collections).

## Fields

* id

  [ID!](https://shopify.dev/docs/api/storefront/latest/scalars/ID)

  non-null

  A globally-unique ID.

* name

  [String!](https://shopify.dev/docs/api/storefront/latest/scalars/String)

  non-null

  The product option’s name.

* option​Values

  [\[Product​Option​Value!\]!](https://shopify.dev/docs/api/storefront/latest/objects/ProductOptionValue)

  non-null

  The corresponding option value to the product option.

* values

  [\[String!\]!](https://shopify.dev/docs/api/storefront/latest/scalars/String)

  non-nullDeprecated

***

## Map

### Fields with this object

* [Product.options](https://shopify.dev/docs/api/storefront/latest/objects/Product#field-Product.fields.options)

***

## Interfaces

* [Node](https://shopify.dev/docs/api/storefront/latest/interfaces/Node)

  interface

***

## ProductOption Implements

### Implements

* [Node](https://shopify.dev/docs/api/storefront/latest/interfaces/Node)
