Theme

ThemeGif

 

NovelAI comes with 19 default theme options, as well as an intuitive interface to customize the site to your liking! Use the Theme Editor to adjust background and text color, as well as change the fonts used for header and paragraph text.

 

Theme Editor

When you change a color the background of the Theme Editor will also change to provide a preview of your changes. The Color Picker beside each element can be used to fine tune every color to your liking.

ThemeButtons

After making changes to your theme make sure to apply and save it. Themes are exported as a .naitheme file for easy sharing and importing on other devices and accounts. The novelai-content-sharing channel in the Anlatan Discord has a theme section with dozens of user themes.

Custom CSS

The Custom CSS dropdown can be used to further customize your NovelAI theme. This is an advanced feature and be aware that future updates could break your custom code. As stated in the disclaimer, if this does happen you can use the shortcut Alt+Shift+P to reset to the default theme.

Below are some example pieces of code you can copy and paste to change HypeBot, add a Background Image, make the editor transparent, and disable borders and outlines.

Custom Hypebot

.comment-avatar-box {
    background-image: url(https://i.imgur.com/fPwZIbN.jpg);
}
.comment-avatar {
    background-image: url(https://i.imgur.com/hvb1a4i.png) !important;
    background-color: transparent !important;
}
.comment-arrow {
    opacity: 0.0 !important;
}

The .comment-avatar-box class changes the HypeBot background image, while the .comment-avatar class changes the default HypeBot avatar shown when idling. Animated .gifs are supported in all of HypeBot image links. The line about transparency is required to make the background image work. Swap the urls with the links to the images you wish to use.

The .comment-arrow class decides how you want the speech bubble arrow to appear, if you copy the line from here it will remove it.

.comment-avatar-speaking-active {
    background-image: url(https://i.imgur.com/FqSGMHE.gif) !important;
}

The .comment-avatar-speaking-active class changes the HypeBot image displayed while the response text is streamed, use this to create a talking frame or animation for your custom avatar!

.comment-avatar-thinking {
    background-image: url(https://i.imgur.com/CrCTvlu.png) !important;
}

The .comment-avatar-thinking class changes the HypeBot image displayed while it is 'thinking', the brief period before text begins streaming or when you click the avatar to retry.

.comment-avatar-idle {
    background-image: url(https://i.imgur.com/hvb1a4i.png) !important;
}

The .comment-avatar-idle class changes the HypeBot idle frame, which appears after text is done streaming. This image can usually be the same one you use for the .comment-avatar class.

.comment-name::after {
    content: 'Nai-chan' !important;
}

The .comment-name::after class changes the name of your HypeBot.

With all of the above combined, it should look something like this in the Custom CSS dropdown.

.comment-avatar-box {
    background-image: url(https://i.imgur.com/fPwZIbN.jpg);
}
.comment-avatar {
    background-image: url(https://i.imgur.com/hvb1a4i.png) !important;
    background-color: transparent !important;
}
.comment-arrow{
    opacity: 0.0 !important;
}
.comment-avatar-speaking-active {
    background-image: url(https://i.imgur.com/FqSGMHE.gif) !important;
}
.comment-avatar-thinking {
    background-image: url(https://i.imgur.com/CrCTvlu.png) !important;
}
.comment-avatar-idle{
    background-image: url(https://i.imgur.com/hvb1a4i.png) !important;
}
.comment-name::after {
    content: 'Nai-chan' !important;
}

Background Image

#app {
    background-image: url(https://i.imgur.com/2Xt07Ut.jpg);
    background-size: cover;
    background-position: center;
}

This code changes the editor background image to one of your liking.

Transparent Background

.menubar, .infobar, .conversation, .module-trainer {
    background-color: #0c0c1088 !important;
    backdrop-filter: blur(5px);
}

Using this code you can make the editor transparent and slightly blurry to show more of your background image. Change the value of backdrop-filter to make it more or less blurry.

Borders

* {
    border: none !important;
    outline: none !important;
}

This code removes the borders around the various boxes and sidebars. Keep the asterisk or it won't work!