What these extensions are

BetterTTV (BTTV), 7TV and FrankerFaceZ (FFZ) are browser extensions and apps that add extra emotes to Twitch chat. Viewers who have the extension see the emotes; viewers who don’t see the emote code as plain text. They don’t use Twitch emote slots and don’t require Affiliate, which is why many small streamers start there.

Each has its own dashboard where you sign in with Twitch, upload emotes, and add them to your channel. Emotes can be shared: you can add emotes other people uploaded, within each service’s rules.

BetterTTV

  • Size: 112×112 is the common recommendation (BTTV shows emotes at 28 px with retina versions).
  • Formats: PNG and GIF.
  • File size: around 1 MB is the commonly quoted maximum.
  • Animated: yes, as GIF.

BTTV also has a review step for shared emotes. Keep emotes square and transparent, the same as for Twitch.

7TV

  • Size: 128×128 is a safe square; 7TV also supports wider emotes.
  • Formats: PNG, GIF, WebP and AVIF; animated WebP and AVIF are supported.
  • File size: we keep ours under 1 MB to be safe; check the upload form for the current maximum.
  • Animated: yes, and 7TV can display animation smoothly at higher frame rates than GIF usually gets.

7TV converts uploads into several formats and sizes itself, so a clean 128 px square with transparency is the most portable thing to upload.

FrankerFaceZ

FrankerFaceZ takes one upload and generates its 1x, 2x and 4x versions. It allows emotes that are wider than they are tall, which is useful for text-style emotes. Animated emotes are supported. File limits are listed on FFZ’s upload page; check there, because they’ve changed over the years.

How they differ from Twitch emotes

  • No Affiliate required, no slot limit like Twitch’s tiers (each service has its own counts).
  • Only viewers with the extension see them.
  • Wider-than-square emotes are possible on 7TV and FFZ; Twitch emotes must be square.
  • Shared libraries: popular emotes spread between channels; that’s also why original character emotes stand out.

Safe defaults that work everywhere

If you want one file per emote that works on all three, export a square, transparent 128 px GIF (or PNG for still emotes) under 1 MB. If you also upload to Twitch, keep the 112/56/28 set for Twitch itself. Our zip has a 7tv folder (128 px) and a bttv folder (112 px) next to the Twitch files for this reason.

For animation, the same rules that keep Twitch happy keep the extensions happy: a short loop, one palette, no flashing.

Emote codes

Extension emotes are triggered by a code typed in chat. Unlike Twitch, there’s no channel prefix, so codes collide. Pick something distinctive (your prefix plus a word) and avoid common words that people type normally — an emote called “ok” would replace every “ok” in chat for extension users.

Why original emotes still matter on extensions

Extension libraries are full of shared emotes — the same few reaction faces in thousands of channels. They’re fun, but they don’t say anything about your channel. A handful of original emotes of your own character, added next to the shared ones, gives your chat something only your community has. They’re also the ones viewers remember when they see them elsewhere.

Animated emotes on extensions

All three extensions support animated emotes, and they’re where many streamers first use animation because there’s no Affiliate requirement. The same production rules apply as on Twitch: a short loop, one gesture, one palette, a clean first frame, no flashing. 7TV can also use animated WebP and AVIF, which allow real alpha transparency and smaller files than GIF; GIF remains the format that works everywhere.

Frame rate: GIF stores delays in hundredths of a second, so very fast animations get rounded. Around 80–160 ms per frame looks smooth and avoids most rounding issues.

Wide emotes

7TV and FrankerFaceZ allow emotes wider than they are tall — handy for text emotes, a character with a long prop, or two characters side by side. Keep the height consistent with your square emotes (say 128 px) and extend the width. Twitch itself doesn’t accept wide emotes, so if you plan to reuse a design on Twitch later, keep a square version too.

A workflow that covers Twitch and extensions

  1. 1
    Design once

    Make every emote at a large square size from one character, so the set matches.

  2. 2
    Export per target

    112/56/28 for Twitch, 128 for 7TV, 112 for BTTV; GIF for animated, PNG for still.

  3. 3
    Check limits

    Run each file against the platform it’s going to.

  4. 4
    Upload in order

    Twitch first if you’re Affiliate (subscribers get them), extensions for everyone else.

  5. 5
    Keep codes consistent

    Use the same names across platforms so chat habits carry over.

Our zip is laid out this way: twitch-emotes, 7tv and bttv folders side by side, each file named character_emote_size.

Moderation and shared emotes

Each extension has rules about what can be uploaded and shared, and channels are responsible for the emotes they enable. Avoid emotes of real people without consent, hateful imagery and copyrighted characters. Original character emotes avoid most of these issues by design.

If you allow your emotes to be shared, other channels can add them. That can spread your character — or put it in contexts you didn’t expect. Each service has a setting for this.

Quick answers about extension emotes

  • Do extension emotes show on mobile? Only in apps or browsers where the extension works; the official Twitch apps don’t show them.
  • Do they count toward Twitch emote slots? No, they are separate.
  • Can I remove an emote later? Yes, from each service’s dashboard; it disappears from your channel for everyone.
  • Can mods manage emotes? Each service lets you give editors access to your channel’s emote set.
  • Should I upload the same emote to all three? Pick the extension your viewers use most; uploading everywhere is fine but adds maintenance.

If you’re not sure which extension your chat uses, ask. Most communities settle on one, and it’s rarely the same across channels.

GIF, WebP or AVIF?

GIF is the lowest common denominator: every extension, every browser, every chat client that shows images. Its limits — 256 colors per frame, on/off transparency, delays in hundredths of a second — are fine for flat character art with an outline. Animated WebP and AVIF, which 7TV accepts, support millions of colors, soft transparency and smaller files, which matters for shaded or painterly emotes. If your emote is flat and outlined, GIF loses almost nothing. If it has gradients, glows or soft shadows, upload WebP to 7TV and keep a GIF for BTTV and Twitch.

Whatever the format, keep a high-quality master (a sprite sheet or a frame sequence) so you can export again when a platform changes its rules.

Checklist

  1. 1
    Square and transparent

    Unless you deliberately want a wide emote on 7TV or FFZ.

  2. 2
    128 px for 7TV, 112 px for BTTV

    Or one 128 px file if you want a single upload.

  3. 3
    Under 1 MB

    A safe ceiling across all three.

  4. 4
    Distinctive code

    Your prefix plus a word.

  5. 5
    Check the form

    Each service can change its limits; the upload page is the authority.

FAQ

Frequently asked questions

What size should a 7TV emote be?

128×128 is a safe square. 7TV accepts PNG, GIF, WebP and AVIF and also supports wide emotes; check its upload page for the current file limit.

What size are BTTV emotes?

112×112 PNG or GIF is the common recommendation, with about 1 MB as the commonly quoted maximum.

Do I need Affiliate for 7TV or BTTV?

No. Any streamer can upload emotes to these extensions.

Can everyone in chat see extension emotes?

Only viewers who have the extension installed; others see the code as text.

Can I use the same file for Twitch and 7TV?

Use 112/56/28 files for Twitch and a 128 px file for 7TV. Our zip includes both.

Are animated emotes supported?

Yes, on all three, as GIF (and on 7TV also animated WebP or AVIF).

Why does my emote look blurry on 7TV?

It was probably uploaded too small. Upload at least 128 px and let 7TV make the smaller versions.

What is FrankerFaceZ?

A browser extension that adds emotes and chat features to Twitch. It generates its own emote sizes from one upload and allows wide emotes.

Which extension should I use?

The one your viewers already have. Ask your chat; most communities settle on one.

Do extension emotes need a transparent background?

They should have one. A square background box looks out of place next to Twitch’s own emotes in every chat theme.

Get 7TV and BTTV files with your emotes

Every emote you make here comes with 128 px and 112 px versions for the extensions.

Make emotes

Sign in to continue

No password. What you entered stays on the page

Get credits

Trending Emotes

$4.99/month · 8 credits every month, cancel anytime

4 new trending templates every week + 8 credits each month. Monthly credits expire at the end of each paid month and don’t stack.

Secure checkout. Failed generations refund their credits. Credits from packs never expire. Up to 5 purchases per account per day. Refund policy