{"id":2034,"date":"2026-10-28T09:13:00","date_gmt":"2026-10-28T13:13:00","guid":{"rendered":"https:\/\/www.xconvert.com\/blog\/?p=2034"},"modified":"2026-08-31T23:06:49","modified_gmt":"2026-09-01T03:06:49","slug":"discord-sticker-512kb-apng","status":"publish","type":"post","link":"https:\/\/www.xconvert.com\/blog\/discord-sticker-512kb-apng","title":{"rendered":"Discord Stickers: 320&#215;320, 512 KiB &#8211; and Why APNG Beats GIF"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">You have a 320 \u00d7 320 animation ready for your server\u2019s sticker slot, Discord bounces it for being too big, and every guide you find says something different about which format to use. The caps are not mysterious \u2014 Discord publishes them \u2014 but the format advice online is mostly folklore. Here is what Discord\u2019s own developer documentation actually says, why APNG is the better choice even though GIF is accepted, and how to fit a real animation inside 512 KiB without it turning to mush.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><strong>Quick answer:<\/strong> Discord stickers are <strong>320 \u00d7 320 pixels, max 512 KiB<\/strong>, and animated ones are <strong>capped at 5 seconds<\/strong>. The accepted upload formats per Discord\u2019s developer docs are <strong>PNG, APNG, GIF and Lottie JSON<\/strong> \u2014 a GIF is <em>not<\/em> rejected. But <strong>APNG is the better sticker<\/strong>: it carries a full alpha sample per pixel (or per palette entry), so edges stay clean against both Discord\u2019s light and dark themes, and it isn\u2019t limited to 256 colours. Convert with <a href=\"https:\/\/www.xconvert.com\/convert-gif-to-apng\">GIF to APNG<\/a>, then cut frame rate and colours on <a href=\"https:\/\/www.xconvert.com\/compress-apng\">Compress APNG<\/a> until you\u2019re under 512 KiB.<\/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=\"#spec\">The sticker spec, from Discord\u2019s own docs<\/a><\/li><li><a href=\"#format\">GIF is accepted \u2014 APNG is still better<\/a><\/li><li><a href=\"#budget\">The 512 KiB budget: what actually fits<\/a><\/li><li><a href=\"#tool\">Convert and shrink on xconvert<\/a><\/li><li><a href=\"#faq\">FAQ<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"spec\">The sticker spec, from Discord\u2019s own docs<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Discord\u2019s developer documentation for the sticker resource is the authority here \u2014 it is the contract the upload endpoint enforces. It states that a guild sticker \u201cmust be a PNG, APNG, GIF, or Lottie JSON file, max 512 KiB\u201d, and that \u201cuploaded stickers are constrained to 5 seconds in length for animated stickers, and 320 x 320 pixels.\u201d<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Constraint<\/th><th>Value<\/th><\/tr><\/thead><tbody><tr><td>Dimensions<\/td><td><strong>320 \u00d7 320 pixels<\/strong><\/td><\/tr><tr><td>Maximum file size<\/td><td><strong>512 KiB<\/strong> (524,288 bytes)<\/td><\/tr><tr><td>Animated length<\/td><td><strong>5 seconds maximum<\/strong><\/td><\/tr><tr><td>Accepted formats<\/td><td>PNG (type 1), APNG (2), Lottie JSON (3), <strong>GIF (4)<\/strong><\/td><\/tr><tr><td>Different thing entirely<\/td><td>Custom <strong>emoji<\/strong>: 128 \u00d7 128, max 256 KiB<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Two details that trip people up. First, the cap is <strong>512 KiB<\/strong>, not 512 KB \u2014 that is 524,288 bytes, about 2.4% more headroom than a decimal 512,000. Your file manager may report either. Second, emoji and stickers are separate systems with separate limits; if you are actually making a 128 \u00d7 128 emoji, see <a href=\"https:\/\/www.xconvert.com\/blog\/discord-emoji-gif-128px-256kb\/\">Discord custom emoji: fit an animated GIF in 128\u00d7128 and 256 KB<\/a> instead \u2014 the maths is completely different at a quarter of the pixel count.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Note also that Lottie stickers are vector JSON animations and are not generally available: the same documentation warns that \u201cLottie stickers can only be uploaded on guilds that have either the <code>VERIFIED<\/code> and\/or the <code>PARTNERED<\/code> guild feature.\u201d For everyone else the practical choice is between a raster GIF and a raster APNG.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"format\">GIF is accepted \u2014 APNG is still better<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Plenty of community guidance insists stickers \u201cmust be APNG\u201d. That is an over-reading. Discord\u2019s Sticker Format Types table lists <strong>GIF as value 4<\/strong>, and the create-sticker documentation names GIF explicitly in the accepted set. Your GIF will upload.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It will just look worse. The reason is in the two formats\u2019 specifications, and it comes down to how each one stores transparency and colour.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"939\" src=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/gif-vs-apng-sticker.png\" alt=\"Comparison grid of GIF versus APNG for a Discord sticker, covering acceptance by Discord, colour depth, transparency type, edge quality on light and dark themes, frame timing precision and per-frame regions\" class=\"wp-image-2032\" srcset=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/gif-vs-apng-sticker.png 1600w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/gif-vs-apng-sticker-300x176.png 300w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/gif-vs-apng-sticker-1024x601.png 1024w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/gif-vs-apng-sticker-768x451.png 768w, https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/gif-vs-apng-sticker-1536x901.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Transparency is the visible difference.<\/strong> The GIF89a specification gives a frame one <strong>Transparency Index<\/strong>: \u201cwhen encountered, the corresponding pixel of the display device is not modified.\u201d One index, one state \u2014 a pixel is fully transparent or fully opaque, with nothing in between. The W3C PNG specification (Third Edition, which now includes APNG) offers alpha four ways, and two of them matter here: truecolour with alpha, where \u201ceach pixel is an R,G,B triple followed by an alpha sample\u201d; and indexed colour, where \u201ca tRNS chunk contains the alpha table that associates an alpha sample with each palette entry.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That second one is the underrated part. Even after you reduce an APNG to 128 or 64 colours to save bytes, <strong>every palette entry still keeps its own alpha value<\/strong> \u2014 so the anti-aliased pixels around a curved outline can be 40% or 70% opaque. A GIF reduced the same way cannot do that. Its semi-transparent edge pixels must be forced either fully opaque (baking in whatever background colour they were composited against) or fully invisible (producing a hard, jagged, aliased edge).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That is precisely the \u201cwhite halo\u201d you have seen on badly-made GIF stickers: the artwork was flattened against white, and on Discord\u2019s dark theme the leftover white fringe glows. Because Discord users run both light and dark themes, artwork with soft or curved edges keyed to one background will look wrong on the other for whichever half of your server runs the opposite theme.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Colour depth is the second difference.<\/strong> A GIF\u2019s colour table is capped by the spec\u2019s formula \u2014 2 raised to (the 3-bit size field + 1), so a maximum of <strong>256 entries<\/strong>. PNG\u2019s truecolour mode allows 8 or 16 bits per channel. For flat, cel-shaded sticker art 256 colours is often plenty; for anything with a gradient, a glow, or soft shading, it is where banding comes from.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Frame timing is the third.<\/strong> GIF stores delay as \u201cthe number of hundredths (1\/100) of a second\u201d, so your options are quantised to 10 ms steps. APNG\u2019s frame control chunk carries <code>delay_num<\/code> and <code>delay_den<\/code> \u2014 a rational fraction \u2014 plus <code>x_offset<\/code>, <code>y_offset<\/code>, <code>width<\/code> and <code>height<\/code>, meaning each frame can be a small sub-rectangle rather than a full 320 \u00d7 320 redraw. On an animation where only part of the image moves, that is a real byte saving, not a theoretical one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The honest caveat: <strong>APNG is not automatically smaller than GIF.<\/strong> On noisy, full-frame, photographic animation a well-quantised GIF can win, because PNG\u2019s filter-plus-DEFLATE pipeline is built for flat regions and sharp edges, not for photographic noise. APNG\u2019s advantages are quality and correctness at 320 \u00d7 320, plus its sub-rectangle frames when the animation is partial. If your sticker is a video clip rather than drawn artwork, expect to spend real effort on the frame count either way.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"budget\">The 512 KiB budget: what actually fits<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Do the division before you start designing, because it sets your frame count. A single <strong>uncompressed<\/strong> 320 \u00d7 320 RGBA frame is 409,600 bytes \u2014 <strong>400 KiB<\/strong>. Your entire sticker budget is barely more than one raw frame, so every byte comes from compression and from being frugal with frames.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Divide 524,288 bytes by your frame count and you get the average size each compressed frame is allowed to be:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Animation length<\/th><th>Frame rate<\/th><th>Total frames<\/th><th>Average budget per frame<\/th><\/tr><\/thead><tbody><tr><td>1 s<\/td><td>10 FPS<\/td><td>10<\/td><td>51.2 KiB<\/td><\/tr><tr><td>2 s<\/td><td>10 FPS<\/td><td>20<\/td><td>25.6 KiB<\/td><\/tr><tr><td>2 s<\/td><td>12 FPS<\/td><td>24<\/td><td>21.3 KiB<\/td><\/tr><tr><td>3 s<\/td><td>10 FPS<\/td><td>30<\/td><td>17.1 KiB<\/td><\/tr><tr><td>3 s<\/td><td>15 FPS<\/td><td>45<\/td><td>11.4 KiB<\/td><\/tr><tr><td>5 s (max)<\/td><td>10 FPS<\/td><td>50<\/td><td>10.2 KiB<\/td><\/tr><tr><td>5 s<\/td><td>15 FPS<\/td><td>75<\/td><td>6.8 KiB<\/td><\/tr><tr><td>5 s<\/td><td>20 FPS<\/td><td>100<\/td><td>5.1 KiB<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Read that as a design brief rather than a limit to fight. Flat vector-style artwork with large single-colour areas compresses beautifully and will sit comfortably at 10 KiB a frame; a photographic or heavily-gradiented frame will not. The two levers that move the number most are therefore <strong>frame count<\/strong> (shorter loop, lower frame rate) and <strong>colour count<\/strong> \u2014 and because of the tRNS alpha table, cutting colours on an APNG does not cost you the soft edges the way it would on a GIF.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Practical starting point: a <strong>2\u20133 second loop at 10\u201312 FPS<\/strong>. That gives you 20\u201330 frames and roughly 17\u201325 KiB each, which is achievable for drawn artwork without visible degradation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"tool\">Convert and shrink on xconvert<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Two steps: convert the GIF to APNG, then shrink the APNG if it is still over budget.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Open <a href=\"https:\/\/www.xconvert.com\/convert-gif-to-apng\">xconvert.com\/convert-gif-to-apng<\/a> and click <strong>Upload<\/strong> to add your GIF.<\/li><li>Open <strong>Advanced Options<\/strong> (the gear icon). Under <strong>Image resolution<\/strong>, choose <strong>Width x Height<\/strong>, set both boxes to <strong>320<\/strong>, and change each unit dropdown from <strong>Percent (%)<\/strong> to <strong>Pixels<\/strong> \u2014 the unit defaults to Percent, so leaving it alone would resize your sticker to 320% of its original size rather than to Discord\u2019s exact 320 \u00d7 320.<\/li><li>Check <strong>Framerate<\/strong>. It defaults to <strong>10 FPS (Recommended)<\/strong>, which is a sensible sticker rate; set it to match your source if your animation is meant to run faster. Frames are what your 512 KiB actually buys, so treat this dropdown as a size control.<\/li><li>If you uploaded more than one file, set <strong>Combine?<\/strong> to <strong>Individual files<\/strong> \u2014 the default, <strong>Single animation<\/strong>, stitches everything you added into one animation.<\/li><li>Click <strong>Convert<\/strong> and download. If the result is already under 512 KiB, you are done.<\/li><li>Still too big? Send it through <a href=\"https:\/\/www.xconvert.com\/compress-apng\">xconvert.com\/compress-apng<\/a>. This page has no \u201ctarget file size\u201d box \u2014 an APNG is shrunk by removing content, so the levers are <strong>Framerate<\/strong> (fewer frames), <strong>Colors \u2192 By Color Reduction + Dither<\/strong> (a <strong>Color Palette Size<\/strong> dropdown, 256 down to 2, defaulting to 128, with a <strong>Dither<\/strong> toggle), and <strong>Image resolution<\/strong>. Start at 128 or 64 colours before you touch anything else; leave the resolution at 320 \u00d7 320, since Discord will not thank you for a smaller sticker.<\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Files upload over an encrypted connection, are processed on our servers, and are deleted automatically a few hours later.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you are making stickers for more than one platform, <a href=\"https:\/\/www.xconvert.com\/blog\/make-whatsapp-stickers-512-webp\/\">how to make WhatsApp stickers: 512 \u00d7 512 WebP, the right way<\/a> covers the other big sticker spec \u2014 different size, different format, different cap.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"faq\">FAQ<\/h2>\n\n\n\n<h5 class=\"wp-block-heading\">Will Discord reject my GIF sticker?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">No. Discord\u2019s developer documentation lists GIF as sticker format type 4 and names it in the accepted set for a sticker upload \u2014 \u201ca PNG, APNG, GIF, or Lottie JSON file, max 512 KiB\u201d. If your GIF fails, the cause is a limit you have exceeded (over 512 KiB, larger than 320 \u00d7 320, or longer than 5 seconds), not the format. Much community advice says \u201cAPNG only\u201d; that is a quality recommendation being repeated as a rule.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Why does my sticker have a white or dark outline around it?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Because it has 1-bit transparency. A GIF\u2019s transparency is a single index \u2014 a pixel is either fully transparent or fully opaque \u2014 so all the semi-transparent anti-aliased pixels along a curve had to be flattened against some background colour when the file was made. On the opposite Discord theme, that baked-in fringe is visible. Converting to APNG keeps a real alpha sample per pixel, but it cannot recover edges that were already flattened \u2014 you need to re-export from artwork that still has its alpha channel.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">What frame rate should a Discord sticker use?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">10\u201312 FPS is the practical sweet spot. Discord caps animated stickers at 5 seconds, and at 10 FPS that is 50 frames sharing 512 KiB \u2014 about 10 KiB each. Push to 20 FPS and each frame gets 5.1 KiB, which forces quality down far more than the extra smoothness gains. Shortening the loop is almost always a better trade than raising the frame rate.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Is an APNG always smaller than the GIF it came from?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">No, and anyone promising that is guessing. PNG compression is built for flat colour and sharp edges, so drawn, cel-shaded artwork usually shrinks well, while noisy photographic animation can come out larger than a well-quantised GIF. APNG\u2019s reliable wins are correctness \u2014 real alpha, more than 256 colours, per-frame sub-rectangles \u2014 not a guaranteed byte count.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">How do I get under 512 KiB without wrecking the artwork?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">In this order: shorten the loop, lower the frame rate, then reduce the colour palette. Cutting a 5-second loop to 3 seconds removes 40% of the frames outright. Dropping 15 FPS to 10 FPS removes another third. Only then reduce colours \u2014 on an APNG that is cheaper than it sounds, because the PNG spec\u2019s tRNS chunk keeps an alpha value for every palette entry, so a 64-colour APNG still has soft edges. Resizing below 320 \u00d7 320 should be your last resort. Discord\u2019s own sticker-creator FAQ explains why 320 is the number: \u201cStickers in the desktop chat will render at 160&#215;160 dp, which is why we recommend uploading stickers as 320&#215;320 px exactly. This scaling helps keep your stickers looking crisp on most displays.\u201d Upload something smaller and you give up that 2\u00d7 headroom.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">How many stickers can my server actually hold?<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Per Discord\u2019s developer documentation, every guild starts with five free sticker slots, and each Boost level unlocks more. So the constraint on how many stickers you can make is your server\u2019s Boost level, not the file format \u2014 worth checking before you spend an afternoon drawing a set of twelve. Lottie is the one format with a further restriction: it requires a <code>VERIFIED<\/code> and\/or <code>PARTNERED<\/code> guild.<\/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:\/\/docs.discord.com\/developers\/resources\/sticker\">Discord Developer Documentation \u2014 Sticker Resource<\/a> \u2014 the Sticker Format Types table (PNG 1, APNG 2, LOTTIE 3, GIF 4), \u201cmust be a PNG, APNG, GIF, or Lottie JSON file, max 512 KiB\u201d, and \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\">Discord Support \u2014 Tips for Sticker Creators FAQ<\/a> \u2014 \u201cStickers in the desktop chat will render at 160&#215;160 dp, which is why we recommend uploading stickers as 320&#215;320 px exactly\u201d, plus the note that stickers may display at different sizes depending on device and placement.<\/li><li><a href=\"https:\/\/docs.discord.com\/developers\/resources\/emoji\">Discord Developer Documentation \u2014 Emoji Resource<\/a> \u2014 the separate emoji limits: \u201cEmojis and animated emojis have a maximum file size of 256 KiB\u201d at 128 \u00d7 128.<\/li><li><a href=\"https:\/\/www.w3.org\/TR\/png-3\/\">W3C \u2014 Portable Network Graphics (PNG) Specification (Third Edition)<\/a> \u2014 APNG is part of the PNG specification (W3C Recommendation, 24 June 2025); the four alpha representations including \u201ca tRNS chunk contains the alpha table that associates an alpha sample with each palette entry\u201d; and the fcTL chunk fields (<code>width<\/code>, <code>height<\/code>, <code>x_offset<\/code>, <code>y_offset<\/code>, <code>delay_num<\/code>, <code>delay_den<\/code>, <code>dispose_op<\/code>, <code>blend_op<\/code>).<\/li><li><a href=\"https:\/\/www.w3.org\/Graphics\/GIF\/spec-gif89a.txt\">W3C \u2014 GIF89a Specification<\/a> \u2014 the single Transparency Index (\u201cthe corresponding pixel of the display device is not modified\u201d), the colour-table size formula giving a 256-entry maximum, and delay time in hundredths of a second.<\/li><li><a href=\"https:\/\/www.xconvert.com\/convert-gif-to-apng\">xconvert GIF to APNG converter<\/a> and <a href=\"https:\/\/www.xconvert.com\/compress-apng\">APNG compressor<\/a> \u2014 the live control names quoted in the steps.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Discord stickers are 320&#215;320 and max 512 KiB. GIF uploads fine, but APNG keeps real alpha edges on light and dark themes. Specs, budget and how-to.<\/p>\n","protected":false},"author":3,"featured_media":2031,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,14],"tags":[],"class_list":["post-2034","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 v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Discord Stickers: 320x320, 512 KiB - and Why APNG Beats GIF<\/title>\n<meta name=\"description\" content=\"Discord stickers are 320x320 and max 512 KiB. GIF uploads fine, but APNG keeps real alpha edges on light and dark themes. Specs, budget and how-to.\" \/>\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-sticker-512kb-apng\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Discord Stickers: 320x320, 512 KiB - and Why APNG Beats GIF\" \/>\n<meta property=\"og:description\" content=\"Discord stickers are 320x320 and max 512 KiB. GIF uploads fine, but APNG keeps real alpha edges on light and dark themes. Specs, budget and how-to.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.xconvert.com\/blog\/discord-sticker-512kb-apng\" \/>\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-28T13:13:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/featured-42.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=\"11 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-sticker-512kb-apng#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-sticker-512kb-apng\"},\"author\":{\"name\":\"James\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#\\\/schema\\\/person\\\/3434db135e6a7f239ba8414244df9845\"},\"headline\":\"Discord Stickers: 320&#215;320, 512 KiB &#8211; and Why APNG Beats GIF\",\"datePublished\":\"2026-10-28T13:13:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-sticker-512kb-apng\"},\"wordCount\":2166,\"image\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-sticker-512kb-apng#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/featured-42.png\",\"articleSection\":[\"How To Guides\",\"Tools\"],\"inLanguage\":\"en-CA\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-sticker-512kb-apng\",\"url\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-sticker-512kb-apng\",\"name\":\"Discord Stickers: 320x320, 512 KiB - and Why APNG Beats GIF\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-sticker-512kb-apng#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-sticker-512kb-apng#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/featured-42.png\",\"datePublished\":\"2026-10-28T13:13:00+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/#\\\/schema\\\/person\\\/3434db135e6a7f239ba8414244df9845\"},\"description\":\"Discord stickers are 320x320 and max 512 KiB. GIF uploads fine, but APNG keeps real alpha edges on light and dark themes. Specs, budget and how-to.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-sticker-512kb-apng#breadcrumb\"},\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-sticker-512kb-apng\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-sticker-512kb-apng#primaryimage\",\"url\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/featured-42.png\",\"contentUrl\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/featured-42.png\",\"width\":1600,\"height\":840,\"caption\":\"The xconvert GIF to APNG converter at \\\/convert-gif-to-apng with the Upload button highlighted \u2014 turn a sticker GIF into a 320x320 APNG\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.xconvert.com\\\/blog\\\/discord-sticker-512kb-apng#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.xconvert.com\\\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Discord Stickers: 320&#215;320, 512 KiB &#8211; and Why APNG Beats GIF\"}]},{\"@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 Stickers: 320x320, 512 KiB - and Why APNG Beats GIF","description":"Discord stickers are 320x320 and max 512 KiB. GIF uploads fine, but APNG keeps real alpha edges on light and dark themes. Specs, budget and how-to.","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-sticker-512kb-apng","og_locale":"en_US","og_type":"article","og_title":"Discord Stickers: 320x320, 512 KiB - and Why APNG Beats GIF","og_description":"Discord stickers are 320x320 and max 512 KiB. GIF uploads fine, but APNG keeps real alpha edges on light and dark themes. Specs, budget and how-to.","og_url":"https:\/\/www.xconvert.com\/blog\/discord-sticker-512kb-apng","og_site_name":"XConvert Blog","article_publisher":"https:\/\/www.facebook.com\/xconvertcom","article_published_time":"2026-10-28T13:13:00+00:00","og_image":[{"width":1600,"height":840,"url":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/featured-42.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":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.xconvert.com\/blog\/discord-sticker-512kb-apng#article","isPartOf":{"@id":"https:\/\/www.xconvert.com\/blog\/discord-sticker-512kb-apng"},"author":{"name":"James","@id":"https:\/\/www.xconvert.com\/blog\/#\/schema\/person\/3434db135e6a7f239ba8414244df9845"},"headline":"Discord Stickers: 320&#215;320, 512 KiB &#8211; and Why APNG Beats GIF","datePublished":"2026-10-28T13:13:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.xconvert.com\/blog\/discord-sticker-512kb-apng"},"wordCount":2166,"image":{"@id":"https:\/\/www.xconvert.com\/blog\/discord-sticker-512kb-apng#primaryimage"},"thumbnailUrl":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/featured-42.png","articleSection":["How To Guides","Tools"],"inLanguage":"en-CA"},{"@type":"WebPage","@id":"https:\/\/www.xconvert.com\/blog\/discord-sticker-512kb-apng","url":"https:\/\/www.xconvert.com\/blog\/discord-sticker-512kb-apng","name":"Discord Stickers: 320x320, 512 KiB - and Why APNG Beats GIF","isPartOf":{"@id":"https:\/\/www.xconvert.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.xconvert.com\/blog\/discord-sticker-512kb-apng#primaryimage"},"image":{"@id":"https:\/\/www.xconvert.com\/blog\/discord-sticker-512kb-apng#primaryimage"},"thumbnailUrl":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/featured-42.png","datePublished":"2026-10-28T13:13:00+00:00","author":{"@id":"https:\/\/www.xconvert.com\/blog\/#\/schema\/person\/3434db135e6a7f239ba8414244df9845"},"description":"Discord stickers are 320x320 and max 512 KiB. GIF uploads fine, but APNG keeps real alpha edges on light and dark themes. Specs, budget and how-to.","breadcrumb":{"@id":"https:\/\/www.xconvert.com\/blog\/discord-sticker-512kb-apng#breadcrumb"},"inLanguage":"en-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.xconvert.com\/blog\/discord-sticker-512kb-apng"]}]},{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/www.xconvert.com\/blog\/discord-sticker-512kb-apng#primaryimage","url":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/featured-42.png","contentUrl":"https:\/\/www.xconvert.com\/blog\/wp-content\/uploads\/2026\/08\/featured-42.png","width":1600,"height":840,"caption":"The xconvert GIF to APNG converter at \/convert-gif-to-apng with the Upload button highlighted \u2014 turn a sticker GIF into a 320x320 APNG"},{"@type":"BreadcrumbList","@id":"https:\/\/www.xconvert.com\/blog\/discord-sticker-512kb-apng#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.xconvert.com\/blog"},{"@type":"ListItem","position":2,"name":"Discord Stickers: 320&#215;320, 512 KiB &#8211; and Why APNG Beats GIF"}]},{"@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\/2034","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=2034"}],"version-history":[{"count":1,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/posts\/2034\/revisions"}],"predecessor-version":[{"id":2035,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/posts\/2034\/revisions\/2035"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/media\/2031"}],"wp:attachment":[{"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/media?parent=2034"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/categories?post=2034"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xconvert.com\/blog\/wp-json\/wp\/v2\/tags?post=2034"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}