{"id":1855,"date":"2026-10-10T09:13:00","date_gmt":"2026-10-10T13:13:00","guid":{"rendered":"https:\/\/www.xconvert.com\/blog\/?p=1855"},"modified":"2026-08-31T23:05:38","modified_gmt":"2026-09-01T03:05:38","slug":"discord-emoji-gif-128px-256kb","status":"publish","type":"post","link":"https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb","title":{"rendered":"Discord Custom Emoji: Fit an Animated GIF in 128&#215;128, 256 KB"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">You found the perfect three-second reaction loop, dropped it into <strong>Server Settings \u2192 Emoji \u2192 Upload Emoji<\/strong>, and Discord bounced it. The advice you\u2019ll find next is usually wrong in one of two ways: it quotes Discord\u2019s <em>attachment<\/em> limit, which is roughly eighty times larger, or it quotes the <em>sticker<\/em> spec \u2014 a different canvas size and a different byte budget. Custom emoji have their own rules, they\u2019re the strictest upload on Discord, and once you know them the fix is two short passes through a compressor.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><strong>Quick answer:<\/strong> A Discord custom emoji must be <strong>128\u00d7128<\/strong> and <strong>under 256 KiB (262,144 bytes)<\/strong>, and GIF is an accepted upload format \u2014 Discord\u2019s own API docs state both. On <a href=\"https:\/\/www.xconvert.com\/compress-gif\">xconvert\u2019s GIF compressor<\/a>, do it in two passes: first switch <strong>File Compression<\/strong> to <strong>Custom<\/strong> and set <strong>Image resolution \u2192 Width x Height<\/strong> to <strong>128 \u00d7 128 Pixels<\/strong> (resizing is only available in Custom mode); then, if it\u2019s still too big, re-upload the result, leave <strong>File Compression<\/strong> on <strong>Max file size<\/strong>, pick <strong>Size limit \u2192 Custom size value<\/strong>, and type <strong>256<\/strong> with the unit on <strong>KB<\/strong>. Because that field uses SI kilobytes (1,000 bytes), 256 KB = 256,000 bytes, which lands roughly 6 KB under Discord\u2019s actual 262,144-byte ceiling.<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Jump to a section<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"#rulebooks\">Emoji, sticker, attachment: three different rulebooks<\/a><\/li><li><a href=\"#kib\">256 KiB is not 256 KB \u2014 and the gap is free margin<\/a><\/li><li><a href=\"#levers\">At 128 pixels, which lever actually matters<\/a><\/li><li><a href=\"#tool\">Fit a GIF emoji on xconvert<\/a><\/li><li><a href=\"#faq\">FAQ<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"rulebooks\">Emoji, sticker, attachment: three different rulebooks<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Most failed emoji uploads come from applying the wrong spec. Discord publishes three separate sets of limits, and only one of them is about emoji.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><\/th><th>Custom emoji<\/th><th>Custom sticker<\/th><th>Message attachment (free)<\/th><\/tr><\/thead><tbody><tr><td>Max file size<\/td><td><strong>256 KiB<\/strong> (262,144 bytes)<\/td><td>512 KiB<\/td><td>20 MB<\/td><\/tr><tr><td>Dimensions<\/td><td><strong>128 \u00d7 128<\/strong><\/td><td>320 \u00d7 320<\/td><td>Any<\/td><\/tr><tr><td>Animated formats<\/td><td><strong>GIF<\/strong><\/td><td>APNG, GIF, Lottie<\/td><td>GIF, MP4, WebM \u2026<\/td><\/tr><tr><td>Length limit<\/td><td>None stated<\/td><td>5 seconds<\/td><td>None stated<\/td><\/tr><tr><td>Free slots per server<\/td><td>50<\/td><td>5<\/td><td>n\/a<\/td><\/tr><tr><td>More slots via<\/td><td>Nitro \/ Nitro Basic (+50 animated)<\/td><td>Server Boost levels 1\u20133<\/td><td>n\/a<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Three things fall out of that table:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>The sticker spec is a different budget, not a stricter one.<\/strong> Discord\u2019s API docs say a sticker <em>\u201cmust be a PNG, APNG, GIF, or Lottie JSON file, max 512 KiB\u201d<\/em> and that <em>\u201cUploaded stickers are constrained to 5 seconds in length for animated stickers, and 320 x 320 pixels.\u201d<\/em> So GIF <em>is<\/em> accepted for stickers \u2014 but a sticker gets double the bytes on 6.25\u00d7 the pixel area, and Discord\u2019s own creator guide steers you to APNG there because APNG carries 24-bit colour and 8-bit alpha where GIF gives you 256 colours and 1-bit transparency. Guides that hand you the 320 \u00d7 320 \/ 512 KiB numbers are answering the sticker question, not the emoji one.<\/li><li><strong>The attachment number moved.<\/strong> Discord raised the free upload limit to <strong>20 MB in August 2026<\/strong>, up from 10 MB \u2014 roughly eighty times the emoji cap. That\u2019s why generic \u201ccompress it for Discord\u201d advice is useless here.<\/li><li><strong>Animated emoji need Nitro to have a slot.<\/strong> Discord\u2019s own wording: <em>\u201cIn addition to the 50 static custom emojis, if you have Nitro or Nitro Basic, you\u2019ll have an extra 50 slots available for animated ones too!\u201d<\/em> Without one, the server has no animated slot to put your GIF in \u2014 no amount of compression fixes that.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"715\" src=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/discord-expression-limits.png\" alt=\"Comparison grid of Discord custom emoji, custom stickers and free message attachments showing max file size, dimensions, accepted animated formats, length limit and free slots per server\" class=\"wp-image-1852\" srcset=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/discord-expression-limits.png 1600w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/discord-expression-limits-300x134.png 300w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/discord-expression-limits-1024x458.png 1024w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/discord-expression-limits-768x343.png 768w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/discord-expression-limits-1536x686.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"kib\">256 KiB is not 256 KB \u2014 and the gap is free margin<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Discord\u2019s help centre says emoji <em>\u201cmust be under 256KB in size.\u201d<\/em> Discord\u2019s <strong>developer<\/strong> documentation is more precise: <em>\u201cEmojis and animated emojis have a maximum file size of 256 KiB.\u201d<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That\u2019s a <strong>KiB<\/strong>, the binary kilobyte \u2014 1,024 bytes, not 1,000. So the real ceiling is:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>256 KiB = 256 \u00d7 1,024 = <strong>262,144 bytes<\/strong><\/li><li>256 KB (SI) = 256 \u00d7 1,000 = <strong>256,000 bytes<\/strong><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">xconvert\u2019s <strong>Max size<\/strong> field uses SI kilobytes, so typing <strong>256<\/strong> with the unit on <strong>KB<\/strong> targets 256,000 bytes \u2014 about <strong>6,144 bytes (2.3%) below<\/strong> Discord\u2019s actual limit. You get a small safety buffer for free without doing any arithmetic, which matters because file managers, Discord\u2019s error message and your OS all round differently and a file that reads \u201c256 KB\u201d in Finder can still be 258,000 bytes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you want to be even safer, type <strong>250<\/strong> instead. The cost of a slightly smaller target at 128 pixels is close to invisible.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"levers\">At 128 pixels, which lever actually matters<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A GIF\u2019s size is roughly <em>pixels per frame \u00d7 number of frames \u00d7 palette cost<\/em>. At emoji scale, those three terms are wildly unequal, and people usually pull the wrong one first.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Resize first \u2014 it\u2019s not close.<\/strong> Going from 512 \u00d7 512 to 128 \u00d7 128 is a 16\u00d7 reduction in pixel count, cutting about <strong>94%<\/strong> of the per-frame data in a single step. Nothing else on the page comes near that. This is also why a \u201cjust compress harder\u201d approach on a full-size GIF produces a mushy result: you\u2019re spending your entire quality budget on pixels Discord is going to throw away anyway.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Frames are the next-biggest lever.<\/strong> Once the canvas is 128 px, frame count dominates. On xconvert, <strong>Drop Frames \u2192 Frames To Drop \u2192 Every 3rd frame<\/strong> removes one frame in three \u2014 and it\u2019s the sweet spot we measured across GIF compression jobs in production. It\u2019s also handled properly: when a frame is deleted, its display time is added to the frame before it, so the loop still runs for the same length of wall-clock time rather than speeding up.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Palette and dither are the fine tuning \u2014 and dither is a trap at this size.<\/strong> Dropping <strong>Color Palette Size<\/strong> from 256 to 64 usually costs very little visually on a 128 px emoji. Dither is the counter-intuitive one: in our own measurements, ordered dithering costs about <strong>+12% bytes at 64 colours<\/strong>, and Floyd\u2013Steinberg about <strong>+25%<\/strong> while also flickering between frames because the pattern isn\u2019t temporally stable. On an emoji that renders at a fraction of 128 px inline in chat, that spend buys you almost nothing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One more from our production data worth knowing: running <code>gifsicle -O1<\/code> over an already-optimised GIF made one test file <strong>200% bigger<\/strong>. \u201cOptimisation\u201d flags are not free wins, which is why the compressor measures rather than assumes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What not to bother with:<\/strong> cropping to a tight square before you start is genuinely worth it \u2014 your emoji ends up as a 128 \u00d7 128 image and renders far smaller than that in chat, so every pixel of empty background is budget you paid for and nobody sees. But hand-tuning a per-frame local palette is not: we measured roughly <strong>3\u00d7 the bytes for about 0.001 SSIM<\/strong> of quality.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"tool\">Fit a GIF emoji on xconvert<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The one thing to know before you start: on <a href=\"https:\/\/www.xconvert.com\/compress-gif\">xconvert\u2019s GIF compressor<\/a> the resize controls and the file-size target live in <strong>different modes<\/strong> of the same <strong>File Compression<\/strong> group, so an emoji takes two passes. Pass one gets you to 128 \u00d7 128 \u2014 which very often lands under 256 KB on its own \u2014 and pass two only runs if it doesn\u2019t.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Open <a href=\"https:\/\/www.xconvert.com\/compress-gif\">xconvert.com\/compress-gif<\/a> and click <strong>Upload<\/strong> to add your GIF (<strong>From my Computer<\/strong>, <strong>From Google Drive<\/strong>, or <strong>From Dropbox<\/strong>).<\/li><li>In <strong>Advanced Options \u2192 File Compression<\/strong>, switch from <strong>Max file size<\/strong> to <strong>Custom<\/strong>. The resize, palette and frame controls only render in Custom mode.<\/li><li>Under <strong>Image resolution<\/strong>, choose <strong>Width x Height<\/strong>, set both boxes to <strong>128<\/strong>, and change the unit dropdown from <strong>Percent (%)<\/strong> to <strong>Pixels<\/strong>.<\/li><li>Optional but usually worth it: under <strong>Colors<\/strong> pick <strong>By Color Reduction + Dither<\/strong> and set <strong>Color Palette Size<\/strong> to <strong>64<\/strong>; for a long loop, set <strong>Drop Frames \u2192 Frames To Drop \u2192 Every 3rd frame<\/strong>. Then click <strong>Compress<\/strong> and download.<\/li><li>Check the result. Under 256 KB? Upload it to Discord. Still over? Re-upload the 128 \u00d7 128 file, leave <strong>File Compression<\/strong> on <strong>Max file size<\/strong>, open <strong>Size limit<\/strong> and pick <strong>Custom size value<\/strong>, type <strong>256<\/strong>, set the unit to <strong>KB<\/strong>, and compress again. Output lands at or under that number, best effort \u2014 the more aggressive the ask relative to the natural size, the more visible the cost.<\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Your GIF is uploaded over an encrypted connection, processed on our servers, and <strong>deleted automatically a few hours later<\/strong>. No account, no watermark.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Two notes on the same page: the <strong>Size limit<\/strong> dropdown also has a <strong>Discord (10 MB max)<\/strong> preset, but that\u2019s for <em>attachments<\/em> and it predates the August 2026 increase to 20 MB \u2014 it\u2019s not the emoji budget. And if you\u2019re starting from a video rather than a GIF, trim your clip first; <a href=\"https:\/\/www.xconvert.com\/blog\/how-to-convert-mp4-to-gif-high-quality\/\">how to convert MP4 to GIF at high quality<\/a> covers that half, and <a href=\"https:\/\/www.xconvert.com\/blog\/compress-gif-to-a-specific-size\/\">compress a GIF to a specific size<\/a> covers the target-size mode in more depth.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"faq\">FAQ<\/h2>\n\n\n\n<h5 class=\"wp-block-heading\">Why does Discord reject my emoji even though my file manager says it\u2019s 256 KB?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Because Discord\u2019s limit is 256 <strong>KiB<\/strong> \u2014 262,144 bytes \u2014 and your file manager is probably rounding. A file shown as \u201c256 KB\u201d can easily be 260,000-plus bytes. Target 256 <strong>SI kilobytes<\/strong> (256,000 bytes) or lower and the rounding can\u2019t hurt you. That\u2019s exactly what typing <code>256<\/code> with the unit on <strong>KB<\/strong> in xconvert\u2019s <strong>Max size<\/strong> field does.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Does the 256 KiB limit apply to animated emoji too?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Yes. Discord\u2019s help centre is explicit that <em>\u201cthe same naming and sizing requirements listed above apply to the animated custom emojis\u201d<\/em>, and the developer docs state the cap for <em>\u201cemojis and animated emojis\u201d<\/em> together. An animated GIF gets exactly the same budget as a single static PNG, spread across every frame \u2014 which is why frame count matters so much more here than in any other Discord upload.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Can I upload a GIF as a Discord sticker instead?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Yes \u2014 Discord\u2019s API documentation says a sticker <em>\u201cmust be a PNG, APNG, GIF, or Lottie JSON file, max 512 KiB\u201d<\/em>, with animated stickers capped at <strong>5 seconds<\/strong> and <strong>320 \u00d7 320<\/strong> pixels. Note that Discord\u2019s creator-facing guide lists only APNG and PNG, so the two Discord sources differ in emphasis; APNG really is the better choice at 320 \u00d7 320 because it carries 24-bit colour and 8-bit alpha, where GIF gives you a 256-colour palette and 1-bit transparency that shows as jagged edges on a transparent background. Two other differences: sticker slots come from <strong>Server Boost levels<\/strong>, not Nitro, and Discord warns that <em>\u201cyour APNG stickers will not render if you only upload the files through the chat bar &gt; upload file section\u201d<\/em> \u2014 use <strong>Server Settings \u2192 Stickers \u2192 Upload<\/strong> instead.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">My emoji uploaded but it doesn\u2019t animate. What happened?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Two likely causes. Either the server has no free animated slot \u2014 those 50 extra slots require Nitro or Nitro Basic \u2014 or the GIF lost its animation on the way in, which happens when a resizer flattens it to a single frame. Check the file before uploading: if it\u2019s animated, the file size will be far larger than a single 128 \u00d7 128 still, which is usually a few kilobytes.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Will Discord re-compress the GIF I upload?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Effectively, yes, for display. Discord\u2019s developer documentation says <em>\u201cAll emoji (regardless of original format) can be served as WebP\u201d<\/em> and <em>\u201cThe Discord client uses WebP for all emoji displayed in-app.\u201d<\/em> So the 256 KiB budget applies to what you hand Discord, not to what other people\u2019s clients download. It also means micro-tuning your GIF\u2019s dither pattern is wasted effort \u2014 it gets re-encoded before anyone sees it.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">What size should I make the emoji if 128 \u00d7 128 still looks blurry?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">128 \u00d7 128 is what Discord\u2019s API documents for the emoji image, so there\u2019s nothing to gain from going larger. Blurriness at that size almost always comes from the <em>source<\/em>, not the target: a small or low-detail clip upscaled to 128 px, or a subject that\u2019s too far away in frame. Crop tightly to the subject before resizing, and skip fine text entirely \u2014 emoji render at a fraction of 128 px inline in chat, where small lettering disappears.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sources<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Last verified 2026-08-31.<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/discord.com\/developers\/docs\/resources\/emoji\">Discord Developer Docs \u2014 Emoji Resource<\/a> \u2014 \u201cEmojis and animated emojis have a maximum file size of 256 KiB\u201d; the Create Guild Emoji <code>image<\/code> parameter is \u201cthe 128&#215;128 emoji image\u201d; \u201cEmoji can be uploaded as JPEG, PNG, GIF, WebP, and AVIF formats\u201d; \u201cThe Discord client uses WebP for all emoji displayed in-app.\u201d<\/li><li><a href=\"https:\/\/support.discord.com\/hc\/en-us\/articles\/360036479811-How-to-Add-Custom-Emojis-on-Discord\">Discord Support \u2014 How to Add Custom Emojis on Discord<\/a> \u2014 \u201cEmojis must be under 256KB in size\u201d; 50 static slots per server; \u201can extra 50 slots available for animated ones\u201d with Nitro or Nitro Basic; \u201cthe same naming and sizing requirements \u2026 apply to the animated custom emojis.\u201d<\/li><li><a href=\"https:\/\/discord.com\/developers\/docs\/resources\/sticker\">Discord Developer Docs \u2014 Sticker Resource<\/a> \u2014 a sticker \u201cmust be a PNG, APNG, GIF, or Lottie JSON file, max 512 KiB\u201d; \u201cUploaded stickers are constrained to 5 seconds in length for animated stickers, and 320 x 320 pixels.\u201d<\/li><li><a href=\"https:\/\/support.discord.com\/hc\/en-us\/articles\/4402687377815-Tips-for-Sticker-Creators-FAQ\">Discord Support \u2014 Tips for Sticker Creators FAQ<\/a> \u2014 the creator-facing guide, which lists APNG animated \/ PNG static, 512KB, 320 \u00d7 320 exact, a 60 FPS cap, and the chat-bar rendering caveat. It differs from the API docs in emphasis, not in the accepted set.<\/li><li><a href=\"https:\/\/support.discord.com\/hc\/en-us\/articles\/4403089981975-Custom-Stickers-FAQ\">Discord Support \u2014 Custom Stickers FAQ<\/a> \u2014 5 free sticker slots, plus Boost Levels 1\/2\/3 adding 10\/15\/30.<\/li><li><a href=\"https:\/\/support.discord.com\/hc\/en-us\/articles\/25444343291031-File-Attachments-FAQ\">Discord Support \u2014 File Attachments FAQ<\/a> \u2014 \u201cAs of August 2026, the free upload limit is 20MB (up from 10MB)\u201d; Nitro Basic 50 MB, Nitro up to 500 MB.<\/li><li>xconvert production measurements \u2014 dropping every 3rd frame as the measured sweet spot, ordered dither \u2248 +12% bytes at 64 colours and Floyd\u2013Steinberg \u2248 +25%, per-frame local palettes \u2248 3\u00d7 the bytes for \u2248 0.001 SSIM, and a <code>gifsicle -O1<\/code> pass that made an already-optimised GIF 200% larger.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Discord custom emoji must be 128&#215;128 and under 256 KiB, and GIF is accepted. The exact xconvert settings to resize and shrink an animated GIF to fit.<\/p>\n","protected":false},"author":3,"featured_media":1853,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,14],"tags":[],"class_list":["post-1855","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to-guides","category-tools"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Discord Custom Emoji: Fit an Animated GIF in 128x128, 256 KB<\/title>\n<meta name=\"description\" content=\"Discord custom emoji must be 128x128 and under 256 KiB, and GIF is accepted. The exact xconvert settings to resize and shrink an animated GIF to fit.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Discord Custom Emoji: Fit an Animated GIF in 128x128, 256 KB\" \/>\n<meta property=\"og:description\" content=\"Discord custom emoji must be 128x128 and under 256 KiB, and GIF is accepted. The exact xconvert settings to resize and shrink an animated GIF to fit.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb\" \/>\n<meta property=\"og:site_name\" content=\"XConvert Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/xconvertcom\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-10T13:13:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/featured-6.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"840\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"James\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@xconvert_com\" \/>\n<meta name=\"twitter:site\" content=\"@xconvert_com\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"James\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-emoji-gif-128px-256kb#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-emoji-gif-128px-256kb\"},\"author\":{\"name\":\"James\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#\\\/schema\\\/person\\\/3434db135e6a7f239ba8414244df9845\"},\"headline\":\"Discord Custom Emoji: Fit an Animated GIF in 128&#215;128, 256 KB\",\"datePublished\":\"2026-10-10T13:13:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-emoji-gif-128px-256kb\"},\"wordCount\":2112,\"image\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-emoji-gif-128px-256kb#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/featured-6.png\",\"articleSection\":[\"How To Guides\",\"Tools\"],\"inLanguage\":\"en-CA\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-emoji-gif-128px-256kb\",\"url\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-emoji-gif-128px-256kb\",\"name\":\"Discord Custom Emoji: Fit an Animated GIF in 128x128, 256 KB\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-emoji-gif-128px-256kb#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-emoji-gif-128px-256kb#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/featured-6.png\",\"datePublished\":\"2026-10-10T13:13:00+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#\\\/schema\\\/person\\\/3434db135e6a7f239ba8414244df9845\"},\"description\":\"Discord custom emoji must be 128x128 and under 256 KiB, and GIF is accepted. The exact xconvert settings to resize and shrink an animated GIF to fit.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-emoji-gif-128px-256kb#breadcrumb\"},\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-emoji-gif-128px-256kb\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-emoji-gif-128px-256kb#primaryimage\",\"url\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/featured-6.png\",\"contentUrl\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/featured-6.png\",\"width\":1600,\"height\":840,\"caption\":\"The xconvert GIF compressor at \\\/compress-gif with the Upload button highlighted \u2014 resize an animated GIF to 128x128 and target 256 KB for a Discord custom emoji\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-emoji-gif-128px-256kb#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.xconvert.com\\\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Discord Custom Emoji: Fit an Animated GIF in 128&#215;128, 256 KB\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/\",\"name\":\"XConvert Blog\",\"description\":\"Blog for XConvert file converter\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-CA\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#\\\/schema\\\/person\\\/3434db135e6a7f239ba8414244df9845\",\"name\":\"James\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/46be416a360dc6b95bffc4b116d86872c03f8d8e4c1047a3a08033742f03d04d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/46be416a360dc6b95bffc4b116d86872c03f8d8e4c1047a3a08033742f03d04d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/46be416a360dc6b95bffc4b116d86872c03f8d8e4c1047a3a08033742f03d04d?s=96&d=mm&r=g\",\"caption\":\"James\"},\"url\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/author\\\/james\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Discord Custom Emoji: Fit an Animated GIF in 128x128, 256 KB","description":"Discord custom emoji must be 128x128 and under 256 KiB, and GIF is accepted. The exact xconvert settings to resize and shrink an animated GIF to fit.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb","og_locale":"en_US","og_type":"article","og_title":"Discord Custom Emoji: Fit an Animated GIF in 128x128, 256 KB","og_description":"Discord custom emoji must be 128x128 and under 256 KiB, and GIF is accepted. The exact xconvert settings to resize and shrink an animated GIF to fit.","og_url":"https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb","og_site_name":"XConvert Blog","article_publisher":"https:\/\/www.facebook.com\/xconvertcom","article_published_time":"2026-10-10T13:13:00+00:00","og_image":[{"width":1600,"height":840,"url":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/featured-6.png","type":"image\/png"}],"author":"James","twitter_card":"summary_large_image","twitter_creator":"@xconvert_com","twitter_site":"@xconvert_com","twitter_misc":{"Written by":"James","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb#article","isPartOf":{"@id":"https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb"},"author":{"name":"James","@id":"https:\/\/www.xconvert.com\/blog\/#\/schema\/person\/3434db135e6a7f239ba8414244df9845"},"headline":"Discord Custom Emoji: Fit an Animated GIF in 128&#215;128, 256 KB","datePublished":"2026-10-10T13:13:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb"},"wordCount":2112,"image":{"@id":"https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb#primaryimage"},"thumbnailUrl":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/featured-6.png","articleSection":["How To Guides","Tools"],"inLanguage":"en-CA"},{"@type":"WebPage","@id":"https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb","url":"https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb","name":"Discord Custom Emoji: Fit an Animated GIF in 128x128, 256 KB","isPartOf":{"@id":"https:\/\/www.xconvert.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb#primaryimage"},"image":{"@id":"https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb#primaryimage"},"thumbnailUrl":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/featured-6.png","datePublished":"2026-10-10T13:13:00+00:00","author":{"@id":"https:\/\/www.xconvert.com\/blog\/#\/schema\/person\/3434db135e6a7f239ba8414244df9845"},"description":"Discord custom emoji must be 128x128 and under 256 KiB, and GIF is accepted. The exact xconvert settings to resize and shrink an animated GIF to fit.","breadcrumb":{"@id":"https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb#breadcrumb"},"inLanguage":"en-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb"]}]},{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb#primaryimage","url":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/featured-6.png","contentUrl":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/featured-6.png","width":1600,"height":840,"caption":"The xconvert GIF compressor at \/compress-gif with the Upload button highlighted \u2014 resize an animated GIF to 128x128 and target 256 KB for a Discord custom emoji"},{"@type":"BreadcrumbList","@id":"https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.xconvert.com\/blog"},{"@type":"ListItem","position":2,"name":"Discord Custom Emoji: Fit an Animated GIF in 128&#215;128, 256 KB"}]},{"@type":"WebSite","@id":"https:\/\/www.xconvert.com\/blog\/#website","url":"https:\/\/www.xconvert.com\/blog\/","name":"XConvert Blog","description":"Blog for XConvert file converter","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.xconvert.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-CA"},{"@type":"Person","@id":"https:\/\/www.xconvert.com\/blog\/#\/schema\/person\/3434db135e6a7f239ba8414244df9845","name":"James","image":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/secure.gravatar.com\/avatar\/46be416a360dc6b95bffc4b116d86872c03f8d8e4c1047a3a08033742f03d04d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/46be416a360dc6b95bffc4b116d86872c03f8d8e4c1047a3a08033742f03d04d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/46be416a360dc6b95bffc4b116d86872c03f8d8e4c1047a3a08033742f03d04d?s=96&d=mm&r=g","caption":"James"},"url":"https:\/\/www.xconvert.com\/blog\/author\/james"}]}},"_links":{"self":[{"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/posts\/1855","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/comments?post=1855"}],"version-history":[{"count":1,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/posts\/1855\/revisions"}],"predecessor-version":[{"id":1856,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/posts\/1855\/revisions\/1856"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/media\/1853"}],"wp:attachment":[{"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/media?parent=1855"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/categories?post=1855"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/tags?post=1855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}