Add a favicon with Checkout and Accounts Configuration API
Checkout styling customizations are available only to Shopify Plus merchants.
Checkout styling customizations are available only to Shopify Plus merchants.
You can use the Checkout and Accounts Configuration API to add a favicon that displays across checkout, customer accounts, and sign-in. The favicon is configured on branding.components.favicon and applies to all surfaces.
For an introduction to the API, see About the Checkout and Accounts Configuration API. For the equivalent guide using checkoutBrandingUpsert, see Add the favicon.

You can reset styles to their defaults by writing parent fields to null with
the checkoutAndAccountsConfigurationUpdate
mutation.
You can reset styles to their defaults by writing parent fields to null with
the checkoutAndAccountsConfigurationUpdate
mutation.
Anchor to What you'll learnWhat you'll learn
In this tutorial, you'll learn how to do the following tasks:
- Upload an image for the favicon.
- Retrieve a Checkout and Accounts Configuration ID.
- Apply the favicon and view it in checkout.
Anchor to RequirementsRequirements
- You're authenticated with the GraphQL Admin API.
- Your app has access to the
read_checkout_and_accounts_configurationsandwrite_checkout_and_accounts_configurationsaccess scopes. - You have a Checkout and Accounts Configuration ID. To learn how to retrieve one, see About the Checkout and Accounts Configuration API.
- Your app has the
write_filesaccess scope to upload images via thefileCreatemutation.
Anchor to Step 1: Upload the iconStep 1: Upload the icon
Customizing the favicon requires you to first upload the icon to Shopify as a staged upload or your own hosting.
Anchor to Step 2: Create the file assetStep 2: Create the file asset
Make a request to the GraphQL Admin API's fileCreate mutation, passing an external URL or a staged upload URL as the originalSource. You'll use the id value when you set the favicon.
POST https://{shop}.myshopify.com/api/{api_version}/graphql.json
GraphQL mutation
Query variables
JSON response
Anchor to Step 3: Retrieve a Checkout and Accounts Configuration IDStep 3: Retrieve a Checkout and Accounts Configuration ID
Use the checkoutAndAccountsConfigurations query to retrieve the ID of the configuration you want to update.
POST https://{shop}.myshopify.com/api/{api_version}/graphql.json
GraphQL query
Anchor to Step 4: Set the favicon imageStep 4: Set the favicon image
Call the checkoutAndAccountsConfigurationUpdate mutation, passing the mediaImageId. This is the id value that the fileCreate mutation returned.
POST https://{shop}.myshopify.com/api/{api_version}/graphql.json
GraphQL mutation
Query variables
Anchor to Differences from the Checkout Branding APIDifferences from the Checkout Branding API
| Checkout Branding API | Checkout and Accounts Configuration API |
|---|---|
customizations.favicon.mediaImageId | branding.components.favicon.mediaImageId |
Uses checkoutProfileId | Uses configuration id |
| Favicon applies to checkout only | Favicon applies across all surfaces (checkout, customer accounts, sign-in) |
Anchor to Next stepsNext steps
- Explore the GraphQL Admin API to learn more about customizing favicon across checkout, customer accounts, and sign-in.