Skip to main content
Emoji and icon objects represent icons on pages, databases, and callout blocks. The icon field is a discriminated union on the type key:
The read/write columns above apply to page and database icons. Callout block icons support all types except file_upload on write — use emoji, external, custom_emoji, or icon instead.

Emoji

Example: set a page icon via the Create a page endpoint

Example: set a page icon via the Update page endpoint


Custom emoji

Custom emojis are icons uploaded and managed in your workspace. Use the List custom emojis endpoint to retrieve them.

Example: custom emoji in a page icon response

Example: inline custom emoji in rich text

Example: set a page icon to a custom emoji

When writing, only the id field is required inside custom_emoji.

Example: look up a custom emoji by name

Use the name query parameter on List custom emojis to resolve a custom emoji name to its ID, then use the ID to set a page icon.
Example response:

Icon

Native Notion icons are built-in icons with a name and color. They appear in the Notion UI icon picker under the “Icons” tab.

Icon name

When setting a native icon, the name field accepts either Notion’s internal API icon name or the name shown in the Notion icon picker tooltip. Responses return the internal API icon name. Icon picker names are case-insensitive, and spaces, underscores, and hyphens are treated equivalently. For example, "token", "star circle", "star-circle", and "STAR_CIRCLE" set the same icon. "redirect", "arrow redirect heavy", and "arrow_redirect_heavy" also set the same icon.

Icon color

Valid color values: "gray", "lightgray", "brown", "yellow", "orange", "green", "blue", "purple", "pink", "red". If omitted when setting an icon, the color defaults to "gray".

Example: set a page icon to a native icon