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

# Themes

Select, edit, or transfer a theme for your chat UI.

Ask a question Copy for LLM [View as Markdown](/docs/UI_Components/JavaScript/Classic/Themes.md)
TalkJS lets you change the look and feel of the user interface to match your site or app's style. Custom themes give you full control over the HTML and CSS of chat messages.

You can [select or edit a theme](#select-or-edit-a-theme-in-the-dashboard) in the TalkJS dashboard. If you need to transfer themes between different projects, you can [use the REST API](#export-or-import-a-theme-with-the-rest-api) to export or change a theme.

## Select or edit a theme in the dashboard

You can select a theme from the **Chat UI** page in your TalkJS [dashboard](/dashboard).

If you would like to edit an existing theme, or create a new theme from scratch, you can easily do so using the [theme editor](/docs/UI_Components/JavaScript/Classic/Themes/Theme_Editor/). You find the theme editor in the **Themes** page of your TalkJS dashboard.

You can give different user groups, for example buyers and sellers, a different chat UI. To do so, create a separate [role](/docs/Concepts/Roles/) for each user group, and select a different chat UI theme for each role.

You can also pass the name of a theme in the `theme` option when creating a chat widget in our [JavaScript](/docs/UI_Components/JavaScript/Classic/Session/#ChatboxOptions__theme), [React](/docs/UI_Components/React/Classic/Components/Chatbox/), [React Native](/docs/UI_Components/React_Native/Components/Chatbox/#theme) or [Flutter](/docs/UI_Components/Flutter/Widgets/Chatbox/#Chatbox__constructor) SDKs.

## Export or import a theme with the REST API

You can use our REST API to [export the data](/docs/REST_API/App/#export-your-theme) for your themes as a JSON file, or to [create, update or delete your themes](/docs/REST_API/App/#change-your-theme).

You may want to do this to transfer a theme between different TalkJS projects.

## Examples

Learn how to use the theme editor to achieve the look of various chat or messaging apps, from one of the following tutorials:

- [WhatsApp](/resources/how-to-build-a-chat-app-that-looks-like-whatsapp-with-the-talkjs-chat-api/)
- [Discord](/resources/how-to-create-a-chat-similar-to-discord-with-talkjs/)
- [LinkedIn](/resources/how-to-build-a-linkedin-lookalike-chat-using-talkjs-chat-api/)
- [Slack](/resources/how-to-create-a-slack-like-chatbox-with-talkjs-themes/)
- [Airbnb](/resources/build-a-messaging-inbox-similar-to-airbnb-by-using-talkjs/)
- [Twitter](/resources/how-to-create-direct-messages-like-on-twitter-with-the-talkjs-chat-api/)
- [Upwork](/resources/how-to-build-a-chat-similar-to-upwork-with-talkjs/)