Compress an image for Discord
"Your files are too powerful" means you hit an upload cap, not that anything is broken. Set the cap as a target and the tool fits the file under it.
Keeps the resolution and finds the best balance, so the picture looks the same and the file is smaller.
Drag and drop your images
or click to choose · Ctrl+V to paste (up to 30, 50MB each)
Metadata such as the GPS location is removed from every JPEG, PNG and WebP you get back.(Images already under the target size are stripped too. GIF, AVIF and BMP are containers this tool cannot rewrite, so one handed back without re-compression keeps its metadata — the result row says so. HEIC and HEIF cannot be rewritten either: when the JPEG written from one comes back no smaller than it was, your own file is what you get, metadata and all.)
The limits you are actually hitting
Discord's file upload limit on the free plan is 10MB (Nitro Basic raises it to 50MB and Nitro to 500MB), which a modern phone photo or a high-resolution screenshot can pass on its own.
The asset limits are separate and much tighter: a server icon may be up to 8MB (and 10240×10240px), a custom emoji up to 256KB, and a sticker up to 512KB (PNG, APNG or Lottie). The emoji and sticker ceilings are the ones people usually meet, because they are small enough that a plain screenshot will not fit.
Fitting an emoji under 256KB
Switch the mode to "Target size" and enter 256. For emoji and stickers the dimensions matter as much as the bytes, so turn on "Resize the image" as well — Discord displays custom emoji at a small size, and shrinking the image to something close to that both fits the limit and removes the blur that comes from downscaling a huge picture on the fly.
If the artwork has a transparent background, choose "Convert to PNG (lossless)" so the transparency survives. Converting it to JPEG would flatten the transparent area onto white, which on a dark Discord theme is a white box around your emoji. Know what that costs first: PNG is lossless, so the target size is skipped for it — the 256 you typed stops doing anything, and the file is written out at whatever size it comes to. With PNG the dimensions are the only thing holding it under the cap, which is why "Resize the image" is not optional on this route. How far down: for a roughly square emoji, 128px on the longest side clears 256KB with room to spare. A 128×128 PNG cannot exceed about 66KB no matter how busy the artwork is, because a PNG's size is bounded by its pixel count — that is a worst case for pixel noise, and flat emoji art lands nearer 1KB. The pixel count is also the catch: 128px wide is not 128×128 on a tall image, and past roughly a 1:4 ratio a detailed picture can pass 256KB even at that width.
What happens to your image
Every image stays on your device. The compression runs in your browser through WebAssembly, so nothing is sent to a server, nothing is stored, and there is no queue to wait in. Closing the tab is all the cleanup there is.
Frequently asked questions
Why does Discord reject my file when it is under 10MB?
Because you are probably not hitting the upload limit but an asset limit. Server icons stop at 8MB, custom emoji at 256KB and stickers at 512KB. The error wording is the same in each case, so the first thing to check is which of the four you are actually uploading.
Do I need Nitro to send bigger files?
Nitro raises the cap rather than removing it — Basic to 50MB and Nitro to 500MB. For photos and screenshots, compressing under the free 10MB cap is usually faster than paying for headroom you will use once.
Will compressing ruin a screenshot?
It can, if it is compressed as JPEG. Screenshots are flat colour and sharp text, which is the case JPEG handles worst — the text picks up a halo. Choose "Convert to PNG (lossless)" or "Convert to WebP" for screenshots and the text stays clean while the file still shrinks. The two are not interchangeable once you have set a ceiling, though: WebP has a quality setting and still obeys the target size, while PNG is lossless and the target is skipped for it — a PNG lands wherever it lands. To hold a PNG under a cap, turn on "Resize the image" and bring the dimensions down.
Is anything uploaded to a server?
No. The image is processed in your browser and never leaves your device — which also means there is no rate limit and no account.