tChat – Twitch chat overlay for OBS or browser

Highly customisable chat reader with support for

This also includes emote effects like w! meow meow or meow ffzX meow.

Mod actions like deleting a message or clearing the chat are actioned as soon as possible. Announcements and sub messages are highlighted by default.

First time chats are also highlighted as this information is publicly available and many chat extensions and clients will show this. (see Options below if you want to disable this)

Shared chat uses the badges and emotes from the respective source channel of each message. The source channel is indicated by default via channel avatar icons, using animated ones if enabled in 7TV. You can also join several channels simultaneously and get a combined view.

Runs without a backend, fully in Javascript. Open source


Options

Main Parameters

Image Options

Optional Predefined Styles

Extra Features …

Disable Cool Features?

When adding the browser source to OBS, make sure to use the width and height values in the properties to resize the source. Dragging the edges of the box will distort the browser content.


Custom Styles

The structure of the document generated by the chat overlay should allow for great customisability using added CSS snippets.

Adding a new browser source in OBS will give you a default CSS that looks like this:

body { background-color: rgba(0, 0, 0, 0); margin: 0px auto; overflow: hidden; }

This will make the overlay transparent and make sure it has no scrollbars.

You can add more CSS rules to this; here are some examples. Just pick the one you want and append them in the Custom CSS option. (To make the textbox bigger, you can drag the divider below the preview at the top upwards.)

  1. Change the font of the page, for example to a monospace one
    @import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100..700;1,100..700&display=swap');

    body { font-family: 'Roboto Mono', monospace; }
  2. Hide messages by their text content, for example hide commands starting with an exclamation mark
    .chat-line[data-text^="!"] { display: none; }
  3. Make the Purple Pixel Heart badge less similar to a VIP badge
    img[alt="[purple-pixel-heart---together-for-good-24/1]"] { filter: grayscale(.3); }