---
url: https://talkjs.com/docs/UI_Components/JavaScript/Classic/Themes/Icons
---

# Icons

Add, remove, or replace icons in your theme.

Ask a question Copy for LLM [View as Markdown](/docs/UI_Components/JavaScript/Classic/Themes/Icons.md)
The TalkJS chat UI includes a range of icons. You control which icon components you use in your theme, and where.

## Usage

You can modify existing themeable components to add or remove icons in the TalkJS interface directly from the editor on the **Themes** page of your [dashboard](/dashboard/).

For example, to include an attachment icon component into your theme, add the following in the location in which you want the attachment icon to appear:

```html
<Icon type="attach" />
```

## Available icons

TalkJS makes the following icon types available to be used anywhere in your theme by specifying them in the `type` prop of the [Icon](/docs/UI_Components/JavaScript/Classic/Themes/Components/Global_Components_and_Variables/#icon) built-in component:

| Icon | Type |
| --- | --- |
|  | `addEmoji` |
|  | `attach` \| `attachment` |
|  | `back` |
|  | `close` |
|  | `down` \| `chevronDown` |
|  | `download` |
|  | `email` |
|  | `emoji` |
|  | `horizontalDots` |
|  | `image` |
|  | `left` \| `chevronLeft` |
|  | `location` \| `locationPin` |
|  | `mic` \| `microphone` |
|  | `movie` |
|  | `pause` |
|  | `play` |
|  | `plus` |
|  | `reply` |
|  | `search` |
|  | `send` |
|  | `spinner` |
|  | `stop` |
|  | `up` \| `chevronUp` |
|  | `updown` |
|  | `verticalDots` \| `more` |

## Add a custom icon

You can also add your own custom icon to your theme. If your custom icon is an SVG file, then you can include the SVG directly inside your theme.

If your custom icon is a raster image, such as a JPG, PNG, or GIF, then you need to host the image somewhere yourself. You can then render the image inside your theme, for example with `<img src="example.com/image.jpg">`.