Compress images for Discord — fit the 10MB cap
Discord's free tier blocks any file over 10MB from uploading inline. That's a real wall for screenshots from high-res monitors, RAW exports, or anything saved as PNG. Drop your image here and compress it to WebP or JPG in seconds — the converter runs entirely in your browser, so your screenshot never touches a server. Pick a quality level, hit download, and paste it straight into Discord.
Compress now →Why Discord caps uploads at 10MB
Discord's free tier currently enforces a 10MB per-file upload limit, and that number has changed more than once over the years. For a long stretch the free cap was 8MB; Discord briefly raised it to 25MB in 2023, then walked it back to the 10MB limit that free accounts live with today. So do not assume the cap is whatever it was the last time you checked — verify it against your own client. The reason a limit exists at all is straightforward: Discord runs a persistent CDN that stores and re-serves every uploaded file. Uncapped uploads would make hosting costs scale unpredictably with the user base, so a hard limit keeps bandwidth costs manageable. Nitro Basic subscribers get 50MB. Full Nitro subscribers get 500MB. If you have Nitro and are sharing large files routinely, you probably don't hit the wall often — but even Nitro users occasionally need compression. Discord's per-channel and per-guild rate-limiting can treat very large files as potential spam signals, and older Discord desktop clients (versions before mid-2023) have documented issues rendering WebP and AVIF files above certain dimensions. Compressing before uploading sidesteps both problems and makes the file load faster for recipients on slow connections or mobile data.
What format Discord displays inline
Not every image you paste into Discord will render as a visible preview — it depends on the format. PNG renders inline everywhere: web app, desktop client, iOS, Android. JPG is equally universal. WebP renders inline in the Discord web app (Chrome and Firefox) and in every desktop client from late 2021 onwards, making it the right choice for almost all users today. GIF renders inline and plays automatically, though it has its own file-size considerations. AVIF is the outlier. As of early 2025, the Discord desktop client did not render AVIF inline — the file would attach as a generic icon rather than an image preview. By early 2026 the situation is still patchy: newer Discord desktop builds handle AVIF on some operating systems, but mobile clients lag behind and behaviour across server regions varies. For compressed images you actually want recipients to see in the chat, the safe choices remain WebP for modern clients and JPG as the universal fallback. Avoid AVIF until Discord publicly documents consistent inline support.
How to compress an image for Discord
The entire process runs locally in your browser using WebAssembly codecs. Your screenshots, photos, and images never leave your device:
- Click "Compress now →" above or drag your image onto the drop zone on the homepage. Any common format works as input — PNG, JPG, WebP, or AVIF.
- Choose your output format. WebP at quality 75 is the best starting point: it cuts a typical 4MP screenshot from roughly 12MB (PNG) down to around 200–250KB while keeping the image looking sharp. If you need guaranteed compatibility with everyone in the server, pick JPG instead — JPG q75 will land around 300–350KB for the same screenshot.
- Set the quality slider. Quality 75 is the practical sweet spot — it delivers around 80% file-size reduction on photographic content with changes that are imperceptible to most eyes. Drop to quality 50 if you need to fit a very large image under 10MB and don't mind mild compression artifacts. Quality 90 is available when image fidelity matters more than size.
- Check the output file size shown in the preview panel. If it reads under 10MB, you're good to go. If it's still over — which would only happen with an extremely large source — lower the quality by 10 and try again.
- Click the download button. The compressed image saves to your Downloads folder. Drag it directly into the Discord message box, or use the file attachment button. It will upload instantly and render inline as a visible image preview.
File size comparison: before and after compression
Representative example figures from a typical 4-megapixel (2560×1600) desktop screenshot, compressed using libwebp and mozJPEG at the quality values shown. Your exact sizes will vary with image content; the "fits/blocked" notes assume the 10MB free-tier cap.
| Source | Format | Quality | File size |
|---|---|---|---|
| 2560×1600 screenshot | PNG (uncompressed) | — | ~12 MB — BLOCKED |
| 2560×1600 screenshot | JPG | q90 | ~800 KB — fits |
| 2560×1600 screenshot | JPG | q75 | ~310 KB — fits |
| 2560×1600 screenshot | WebP | q75 | ~210 KB — fits |
| 2560×1600 screenshot | WebP | q50 | ~110 KB — fits |
Nitro vs free tier: when this matters
Discord's upload limits by tier are: free accounts get 10MB per file, Nitro Basic gets 50MB, and full Nitro gets 500MB. The 10MB limit is the one that affects the most people — every free account user hits it the moment they try to share a raw screenshot from a modern monitor or any photo exported at full resolution. A roughly 12MB PNG screenshot is over the free cap and Discord will reject it outright until you compress it. If you have Nitro, you'll rarely need a compression tool for casual Discord use. A 4MP screenshot at around 12MB uploads fine under 50MB (Nitro Basic) or 500MB (full Nitro). But compression still has practical value even with Nitro. First, Discord's CDN throttles very large files differently on congested servers — a 400MB video file technically fits under Nitro's cap but can time out on slow connections. Second, Discord's per-channel rate limit applies to data volume, not just message count, so posting large uncompressed images repeatedly can trigger a temporary slowdown. Third, recipients on mobile data get charged for every megabyte of preview they load; sending a 210KB WebP instead of a 12MB PNG is a genuine courtesy. For free-tier users, compression is simply necessary — there is no workaround for the 10MB wall other than making the file smaller.
Under the hood: which codecs are used
WebP compression uses libwebp, Google's reference WebP implementation, maintained at chromium.googlesource.com/webm/libwebp. The same library ships inside Chrome and is the most widely tested WebP encoder available. At quality 75, libwebp applies an adaptive lossy compression that preserves high-frequency detail in sharp edges while aggressively reducing flat regions — which is exactly the right tradeoff for screenshots. JPG compression uses mozJPEG, Mozilla's optimized JPEG encoder at github.com/mozilla/mozjpeg. mozJPEG uses a trellis quantization pass that finds better quantization tables than the classic libjpeg, which means smaller files at equivalent visual quality — typically 10–15% smaller than a libjpeg file at the same quality setting. If your source is a PNG that needs lossless optimization rather than lossy compression, oxiPNG at github.com/shssoichiro/oxipng is available as a codec option. oxiPNG applies multi-pass DEFLATE optimization to reduce PNG file size without touching pixel values. In ConvertMyPic, all three codecs run as WebAssembly modules inside a Web Worker. That means the browser UI stays responsive and, critically, your images never leave your machine — the tool is free because there are no servers to pay for.
FAQ
What's the actual Discord upload limit?
Free Discord accounts can upload files up to 10MB per file as of 2026. Nitro Basic subscribers have a 50MB limit, and full Nitro subscribers have a 500MB limit. These limits apply per file, per upload — they are not cumulative daily limits. The free cap has changed over the years (it was 8MB for a long time and briefly 25MB in 2023), so check your own client if you are unsure. If your file exceeds the limit, Discord will refuse the upload entirely and show an error rather than silently degrading the image.
Will Discord re-compress my image after I upload it?
Yes, but only for the thumbnail previews it generates. Discord creates smaller preview images for the inline chat display and stores them separately on its CDN. The original file you uploaded is stored intact and served at full resolution when a recipient clicks to view the full image or downloads it. Starting with a smaller, well-compressed file means the thumbnail generator has less work to do and the preview loads faster for everyone.
Why is my screenshot 12MB when it's 'just' a screenshot?
PNG screenshots from modern high-resolution monitors are large because PNG is a lossless format — it stores every pixel exactly. A 2560×1600 screenshot at 24-bit color needs to store 4,096,000 pixels × 3 bytes each = roughly 12MB of raw data before compression, and PNG's DEFLATE compression only helps on content with repetitive patterns. A screenshot of a complex web page or code editor with many colors and fine text compresses poorly, easily lands in the 10–15MB range, and so blows past Discord's 10MB free cap.
Should I use PNG, JPG, or WebP for Discord?
It depends on what the image will be used for. For screenshots you're sharing casually and want people to view in chat, WebP at quality 75 gives the best size-to-quality tradeoff and renders inline on every modern Discord client. For photos, JPG at quality 75-90 is a safe choice and has slightly broader compatibility on older client versions. Only use PNG when lossless accuracy matters — for example, sharing a UI design screenshot where pixel-level fidelity is important — and only if the file is already under the 10MB free limit.
Does Discord support AVIF as of 2026?
Partially. Newer Discord desktop builds (late 2025 and beyond) can render AVIF inline on some systems, but support is inconsistent — it depends on the operating system, the client version, and in some cases the server region. Discord mobile clients (iOS and Android) lag behind the desktop client and AVIF support remains unreliable as of early 2026. For images you want recipients to see as inline previews rather than download as attachment icons, stick to WebP or JPG until Discord officially documents consistent AVIF support across all platforms.
Will my image look noticeably worse at quality 75?
For most photographic content and complex screenshots, quality 75 is imperceptible — the human visual system does not reliably distinguish q75 WebP or JPG from the original unless images are placed side by side at full zoom. Quality 50 is where compression artifacts start becoming visible on fine text, sharp edges, and high-contrast patterns. If you're compressing a screenshot of code or text and quality 75 looks soft, try JPG q85 instead — mozJPEG handles text-heavy content better than WebP at medium quality settings.
Does this tool work offline?
Yes. After the first page load, a service worker caches the app shell and all WebAssembly codec modules (libwebp, mozJPEG, oxiPNG). Every subsequent compression runs with no network connection required. The app is also installable as a PWA from Chrome or Edge — it will appear in your dock or app launcher and open as a standalone window, which is convenient if you compress Discord images regularly.
Do my screenshots get uploaded anywhere?
No. The conversion runs entirely inside your browser using WebAssembly. You can confirm this yourself by opening the Network tab in your browser's developer tools before starting a compression. You will see zero outbound requests during the encode step — only the initial page load. There is no server, no account, and no logging. Screenshots of private conversations, confidential documents, or anything sensitive stay on your device.
Can I batch compress multiple images at once?
The current workflow processes one image at a time. For compressing several images for Discord, open /convert in multiple browser tabs and run them in parallel — each tab runs an independent WebAssembly instance, so there's no interference between them. True batch processing with a queue and bulk download is on the roadmap.
Why not just let Discord compress the image automatically?
Discord does not compress images you upload — it only generates smaller thumbnails for the inline preview. The original file is stored and served unchanged. If your original is 12MB and over the 10MB free limit, Discord refuses the upload entirely; it doesn't auto-compress it to fit. Even if it did, letting Discord's server pipeline choose the quality setting would give you no control over the output. Compressing yourself means you decide the tradeoff between file size and image quality, and you can verify the result before anyone else sees it.
Related conversions
- PNG to WebP — Turn heavy PNG screenshots into small WebP files for Discord.
- JPG to WebP — Shrink JPG photos further with libwebp before uploading.
- PNG to JPG — Convert PNG to JPG for the most universally compatible inline preview.
- Email Image Compressor — Fit images under attachment size limits for email too.