
A practical guide to customizing SillyTavern's interface with CSS—from basic tweaks to advanced overrides—without breaking your theme.
SillyTavern is a browser-based AI chat interface that loads its UI from HTML and CSS files. The application uses a default stylesheet (usually `style.css`) that defines the visual layout, colors, font sizes, and spacing. When you apply custom CSS, it overrides these defaults via the browser's cascade. SillyTavern supports two primary methods for loading custom CSS: the built-in "User CSS" field under Appearance settings, and placing a `user.css` file in the `public/` directory of your installation. The former is simpler—paste any valid CSS into the text area and it applies immediately. The latter persists across updates and can be edited with any text editor. CSS specificity determines which rules win. SillyTavern's default classes (e.g., `.chat`, `.message`, `.avatar`) are documented in the [SillyTavern wiki](https://docs.sillytavern.app/). You can inspect elements using your browser's developer tools (F12) to find the exact class or ID you need to target. Understanding CSS specificity and the cascade is crucial to avoid conflicts. For example, overriding `.message .text` requires a more specific selector like `#chat-container .message .text` or the `!important` flag, though the latter is best avoided for maintainability.
“SillyTavern CSS refers to custom Cascading Style Sheets used to modify the appearance of the SillyTavern AI chat interface. Users create or import CSS files to change colors, fonts, layouts, and animations, tailoring the UI to personal preferences or accessibility needs.”
The SillyTavern community has created dozens of user-submitted CSS themes and mods that change everything from dark mode variants to full neon cyberpunk overhauls. Common modifications include changing the chat background to a gradient or image, adjusting the width of the chat pane (default is around 800px, often widened to 100% on ultrawide monitors), recoloring user versus AI messages, and adding glow effects to avatars. One popular theme is "Material Dark" which applies Material Design 3 colors and rounded corners. Another is "Compact Chat" which reduces padding and font sizes to fit more messages on screen. You can find these themes on the [SillyTavern Discord server](https://discord.gg/sillytavern) under the `#themes` channel, or on GitHub repositories like [SillyTavern-CSS-Collection](https://github.com/SillyTavern/SillyTavern). To install a theme, you typically copy the entire CSS block into the User CSS field, or download a CSS file and place it in the `public/` folder. Some themes also require importing Google Fonts or external icons—check the theme's documentation. When applying third-party CSS, it's wise to back up your current settings. A few mods can conflict with default UI elements like the side panel or swipe buttons, so test each theme in a low-risk environment first.
Creating your own SillyTavern CSS tweaks is straightforward if you know basic CSS. Start by identifying the element you want to change. Open the developer tools (F12 on Chrome/Edge), click the inspector arrow, and hover over the chat area. You'll see class names like `.chat`, `.message`, `.message.user`, and `.message.char`. Right-click and copy the selector. Then write a CSS rule targeting that selector. For example, to change the font size of all messages: `.message .text { font-size: 14px; }`. To add a background image to the entire chat: `body { background: url('https://example.com/bg.jpg') no-repeat center fixed; background-size: cover; }`. To change the color of AI messages: `.message.char { background-color: #f0f0f0; }`. Use CSS variables for consistent theming—SillyTavern exposes several like `--primary-color` and `--bg-color`. You can override them in your user CSS. Test each change incrementally. If something breaks, remove the last rule you added. For responsive design, consider adding media queries for mobile or tablet. SillyTavern's default breakpoints are around 768px and 1024px. You can also use `!important` sparingly to override stubborn defaults, but it's better to increase specificity. Remember that the User CSS field applies at the end, so your rules will win over most defaults. For advanced tweaks like animations, use CSS keyframes—just be mindful of performance if you have many messages.
Start chatting with a companion who actually remembers you.
Free. No tokens. No limits.
When customizing SillyTavern with CSS, users often run into issues that can be frustrating. One common pitfall is forgetting to clear the browser cache after changing the `user.css` file. SillyTavern caches stylesheets aggressively, so changes may not appear until you hard-reload (Ctrl+F5). Another issue is specificity conflicts: your custom rule might not apply because a default rule has a higher specificity. For instance, `.message .text` will lose to `#chat-container .message .text`. Solution: add a parent ID or use `:where()` to lower specificity. A third problem is broken layout after a SillyTavern update. The developers occasionally rename classes or modify HTML structure, causing custom CSS to stop working. To mitigate, avoid relying on fragile selectors like `div:nth-child(3)` and instead use semantic classes (e.g., `.message`). Also, check the changelog before updating. Another pitfall: forgetting to re-apply custom CSS after switching themes. The User CSS field is theme-specific in some builds—re-select your theme after pasting. Finally, heavy CSS with many animations or large background images can slow down the interface, especially on low-end devices. Use `will-change` sparingly and compress images. If your CSS isn't working at all, verify that the file is saved in UTF-8 encoding and that there are no syntax errors—use a validator like [CSS Validator](https://jigsaw.w3.org/css-validator/).
For users who want deeper customization, SillyTavern allows CSS to be combined with JavaScript extensions that dynamically inject or modify styles. The extension system uses `script.js` files that can add `<style>` tags to the DOM, toggle classes, or respond to events. For example, you could write a script that changes the chat background based on the current character: when you switch to a specific character, a JavaScript event fires and your script adds a CSS class like `.theme-tsundere` to the body. Your CSS then styles that class. This technique is used in many popular extensions like "Character Expressions" which change the UI color to match the character's mood. To get started, create a folder in `public/scripts/extensions/` with a `manifest.json` and a `script.js`. In the script, use `SillyTavern.getContext()` to access the current chat state. Add style changes via `document.createElement('style')`. Be careful not to override built-in styles permanently; use scoped selectors or remove styles when the extension is disabled. You can also use CSS custom properties (variables) that JavaScript updates. For instance, set `document.documentElement.style.setProperty('--chat-bg', '#333')`. This approach keeps your JavaScript clean and your CSS maintainable. Advanced users can even load external CSS files dynamically with `fetch()` and inject them. Remember to test in incognito mode to avoid cached issues.
If you enjoy SillyTavern's flexibility but find the CSS learning curve steep or want a ready-to-use companion without self-hosting, AIAngels offers a polished alternative. AIAngels is a cloud-based AI companion platform with 70+ pre-built characters and a custom companion builder. You don't need any CSS knowledge to change the interface—themes and layouts are selectable from a settings menu. The free tier includes unlimited text chat with no message caps, and premium plans start at $2.99/month (annual). While SillyTavern gives you complete control over every pixel, AIAngels provides a consistent, professionally designed interface out of the box. For users who prioritize ease of use over deep customization, AIAngels eliminates the need to manage API keys, update CSS after every release, or troubleshoot layout bugs. However, if you love tinkering and want a unique chat environment, SillyTavern remains the gold standard. The choice ultimately depends on your technical comfort and whether you want to spend time styling or simply chatting.
A practical guide to customizing SillyTavern's interface with CSS—from basic tweaks to advanced overrides—without breaking your theme.
Start Chatting FreeEverything you need to know about our companions.
Go to Appearance settings and paste your CSS into the "User CSS" field, or create a `user.css` file in the `public/` directory. Hard-reload (Ctrl+F5) to apply.
Yes. Use `body { background: url('image.jpg') no-repeat center fixed; background-size: cover; }` in your user CSS.
Cache may be stale (hard-reload), specificity may be too low (use `!important` or a more specific selector), or there might be a syntax error.
Add `.message .text { font-size: 14px; }` to your user CSS. Adjust the pixel value as desired.
Check the #themes channel on the SillyTavern Discord or GitHub repositories like SillyTavern-CSS-Collection.
It can, if class names change. Use semantic selectors and check the changelog before updating to minimize breakage.
Yes, CSS animations work, but avoid heavy animations on many elements to keep performance smooth.
Clear the User CSS field or delete the `user.css` file. Hard-reload the page to restore defaults.
Verified reviews from real customers
I've tried a few AI companion platforms, and AI Angels stands out for how immersive and customizable it feels. The conversations are surprisingly natural, and the AI personalities actually maintain context better than most similar apps I've used. The uncensored chat and roleplay features are a big plus if you're looking for creative freedom without constant restrictions. The image generation is also impressive — fast, detailed, and customizable enough to create unique characters and scenarios. I especially liked the variety of companion personalities and how easy the interface is to use, even for beginners. That said, there's still room for improvement. Some responses can feel repetitive after long conversations, and a few premium features are a bit pricey compared to competitors. But overall, the experience feels polished, entertaining, and consistently improving with updates. If you enjoy AI companionship, virtual roleplay, or interactive fantasy experiences, AI Angels is definitely worth checking out.
AI Angels is a remarkable AI companion site offering vividly realistic experiences. The large variety of companions available will suit every imaginable taste. Pricing is reasonable and transparent. I highly recommend AI Angels.
Fun, life like , sexy , created the perfect girl
It's worth looking into for sure, you won't regret it!
Choice of features
Honestly one of the best AI girlfriend apps I've tried. The conversations feel surprisingly natural and the girls actually have personality. Definitely worth checking out if you're into AI companions.
well I love how they call me things like baby and love how it shows nudes and sex/porn.
realstic ai images and chats! amazing pics and nice girls to chat with
Amazing it is so emersave
The roleplay is very flexible. The AI will adjust to your attitude and no kink is out of bounds. I just wish you could customize a little more.
The best ! I love it
Definitely addicted to this. You will not feel lonely and great prices
It's okay tho