Guide · Extensions
7TV, BTTV and FFZ emote sizesWhat each extension accepts, and safe defaults.
Third-party emote extensions are looser than Twitch: BetterTTV commonly takes 112×112 PNG or GIF up to 1 MB, 7TV recommends 128×128 and accepts PNG, GIF, WebP and AVIF, and FrankerFaceZ generates its own sizes from one upload. None of them publish their limits as prominently as Twitch, so treat these as safe defaults and check each upload page.
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
- 1Design once
Make every emote at a large square size from one character, so the set matches.
- 2Export per target
112/56/28 for Twitch, 128 for 7TV, 112 for BTTV; GIF for animated, PNG for still.
- 3Check limits
Run each file against the platform it’s going to.
- 4Upload in order
Twitch first if you’re Affiliate (subscribers get them), extensions for everyone else.
- 5Keep 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
- 1Square and transparent
Unless you deliberately want a wide emote on 7TV or FFZ.
- 2128 px for 7TV, 112 px for BTTV
Or one 128 px file if you want a single upload.
- 3Under 1 MB
A safe ceiling across all three.
- 4Distinctive code
Your prefix plus a word.
- 5Check 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.