Yes, and harder than almost any app I have tested. Does Facebook compress images enough to notice? On 2026-07-18 a 4.13 MB iPhone photo came back 86.3% smaller at 2048x1536, and a transparent PNG came back as a JPEG, 92.8% smaller, transparency gone. Both numbers come from files I measured on disk.
| My test, 2026-07-18 | Went in | Came out | Change |
|---|---|---|---|
| iPhone photo (JPEG) | 4.13 MB, 4032x3024 | 579.7 KB, 2048x1536 | 86.3% smaller |
| Transparent PNG | 1.78 MB, 1240x930 | 130.9 KB JPEG, 1240x930 | 92.8% smaller |
| EXIF metadata | present on the photo | gone | stripped |
Scope, stated up front: those numbers are what Facebook did to two specific reference files, on one day, through one upload path, measured on disk before and after. A different path in the same product, the mobile app instead of the web uploader, or Messenger instead of a post, can behave differently. The rest of this page separates what I measured from what Facebook documents and from what photographers report.
Does Facebook Compress Images? The Two Measured Results
It compressed both files, in two different ways. The photo was resized and re-encoded. The PNG kept every pixel but lost its format, its transparency, and 92.8% of its bytes. That second result is the one no other page on this search has measured, and it changes the standard advice.
The two reference files
Every platform in this series meets the same two files, so results line up across pages. REF-A is a real iPhone photo: 4,332,705 bytes, 4032x3024, JPEG, EXIF metadata intact. REF-B is a photographic cutout with real transparency: 1,863,465 bytes, 1240x930, PNG with an alpha channel. Identical inputs are what make it fair to say Facebook is harsher than Instagram, because both apps got the same photo on the same day. The full roster lives on the hub covering which apps compress your images.
The JPEG result: 86.3% smaller, resized to 2048 pixels
Facebook took the 4032x3024 photo down to 2048x1536 and re-encoded it, returning 579.7 KB where 4.13 MB went in. Two things happened at once there, and they are worth separating. The resize threw away pixels: 12.2 million became 3.1 million, a 74% cut in resolution before compression even started. The re-encode then squeezed what remained into a heavier-handed JPEG. Either step alone shrinks a file. Together they removed 86.3% of it.
The dimensions are the telling part. Facebook did not pick an arbitrary size, it landed on exactly 2048 pixels on the long edge, which is the number photographers have been reverse-engineering for years. My measurement turns that folklore into a dated data point.
The PNG result: converted to JPEG, transparency gone
The PNG went in as a 1.78 MB lossless file with an alpha channel and came back as a 130.9 KB JPEG at the same 1240x930. No resize this time, the image was already under the size ceiling. Instead, Facebook swapped the format entirely. JPEG has no alpha channel, so the transparency was flattened, and the lossless source got the lossy treatment it was never saved for.
If you have read advice about uploading PNGs to Facebook to protect quality, hold that thought. The section on format choice below deals with it directly, because my measurement and that advice cannot both be right for this kind of file.
What these numbers do and do not prove
They prove Facebook re-encoded both files on the path I used, that the photo's EXIF block was removed, and that a transparent photographic PNG was not left as a PNG. They do not prove every upload path behaves identically, and they do not prove what Facebook stores internally, only what it handed back. I would rather draw the line exactly where the measurement stops than stretch one test into a theory of everything.
| File | Before | After | Change |
|---|---|---|---|
| iPhone photo (JPEG) | 4.13 MB | 579.7 KB | 86.3% smaller |
| Transparent PNG | 1.78 MB | 130.9 KB, now JPEG | 92.8% smaller |
What Does Facebook Do to Your Photos Behind the Scenes?
Every upload goes through a server-side pipeline that standardizes it: resize toward a target rendition, re-encode as JPEG at Facebook's chosen settings, normalize the color space, and strip the metadata. The pipeline is built for delivery speed at Facebook's scale, not for keeping your file the way you saved it.
One upload, several renditions
Facebook does not keep one copy of your image. It generates multiple resolutions, a thumbnail, a feed size, a larger view size, and serves whichever fits the device and layout requesting it. That is why the same post can look acceptable on a phone and soft on a desktop monitor at full zoom: they are not the same file. My 579.7 KB result is the largest rendition the platform handed back on this path, which makes it the best case, not the worst.
The re-encode is where the detail goes
Resizing explains the pixel loss, but the re-encode explains the texture loss. JPEG compression discards fine detail selectively, and every fresh encode discards more. If your upload was already a JPEG, Facebook decodes it and encodes it again with its own settings, so the artifacts of two encoders stack. Uploading an already heavily compressed file is how skies turn blotchy and fine branches turn to mush, and it is why the workaround section below tells you to hand Facebook a clean moderate-quality file rather than a battered tiny one.
Color profiles and metadata
Facebook normalizes images toward the sRGB color space, the standard profile web browsers assume, defined by the ICC's sRGB profile specification. Export a photo in Adobe RGB or ProPhoto and the conversion can visibly shift saturation and contrast, which readers then blame on compression. The EXIF block gets stripped too: my returned photo had lost its camera model, timestamp, and GPS coordinates. That is good for privacy and bad for archiving, and it is the same default we chose for our own compressor, which removes EXIF from every file it touches.
Why Facebook chose these tradeoffs
None of this is carelessness. Facebook serves billions of image views a day, most of them to phones on uneven connections, and the arithmetic of that scale is brutal. Serving my original 4.13 MB file to every viewer of a post costs roughly seven times the bandwidth of serving the 579.7 KB version, multiplied across every photo in every feed. The pipeline is tuned for perceived load speed, the feed appearing instantly, rather than archival fidelity, because a feed that stalls loses users and a photo that is modestly softer does not. It is also why the compression will never be optional: the platform's interest and the photographer's interest genuinely point in different directions, and the platform owns the servers. Understanding that does not make the 86.3% cut smaller, but it does tell you the fix has to happen on your side of the upload button.
How Big Does Facebook Make Your Images?
The practical ceiling is 2048 pixels on the long edge, and my test hit it exactly: 4032x3024 in, 2048x1536 out. Guides built from photographer testing, like Nature TTL's upload-quality walkthrough, have long described Facebook's display sizes clustering around 720, 960, and 2048 pixels. The 2048 figure is the one my measurement confirms directly.
Below the ceiling, pixels survive
The PNG went in at 1240x930, under the 2048 line, and came back at 1240x930. Facebook left the dimensions alone and still cut 92.8% of the bytes through the format conversion and re-encode. That is the pattern worth remembering: staying under the resize threshold protects your pixel count, but it does not protect your bytes. Dimensions and file size are two separate battles, and Facebook only concedes the first one.
File size after the pipeline
On my path, a 4.13 MB photo became 579.7 KB, a 7x reduction, and the 1.78 MB PNG became 130.9 KB, a 14x reduction. Older public tests point the same direction: one long-running investigation logged a 106 KB upload coming back at 78 KB with an inferred JPEG quality near 92 and a slight color shift, documented in Scott Wyden Kivowitz's Facebook upload compression test. His numbers are gentler than mine because his input was already small and pre-optimized. Mine started as a raw phone photo, which is what most people actually post, and the reduction was far more dramatic.
The arithmetic worth doing before you upload
Here is the version of my result you can check yourself. 579.7 KB spread across 2048x1536 pixels works out to roughly 0.19 bytes per pixel, which is aggressive but survivable for a photo viewed in a feed. The same budget applied to a 4032x3024 original would be about 2.3 MB, and Facebook clearly was not going to serve that. Once you see the per-pixel budget, the resize stops looking malicious and starts looking like the only way the arithmetic closes.
Covers, profile pictures, and the other surfaces
My measured numbers describe a timeline photo post. Facebook's other surfaces run the same pipeline at different targets: profile pictures are cropped square and displayed small, cover photos are wide crops that get recompressed like everything else, and Stories stills are vertical 9:16 frames. Each placement is as sensitive to cropping as to compression, because an image exported at the wrong shape gets cut to fit before it gets encoded. I have not put the reference files through each surface yet, so this page quotes no per-surface pixel specs. The preparation rules do not change, though: match the placement's aspect ratio before you upload, stay in sRGB, and export a clean JPEG near quality 80 sized for how large the surface actually displays.
Why your photos look blurrier to you than to everyone else
Half the people searching does facebook compress images are really asking why their own upload looks soft on their own screen. Part of the answer is which copy you are looking at. Facebook serves different renditions to different devices, so the version you inspect on a desktop monitor at 100% zoom is being judged far more harshly than the small feed rendition most viewers see on a phone. Downloading your post and comparing it to the original is comparing one rendition, usually not the largest, against a file no viewer ever receives.
The other part is what the pipeline does not do. Facebook does not change focus or exposure, so a photo that comes back looking mushy was not re-edited. The softness is the interaction between its downscale, its sharpening, and whatever sharpening you already applied, stacked on top of JPEG artifacts. That is also why the fix in the workaround section is to do the resize yourself: one resample you control looks better than two resamples fighting each other.
Is There a Way to Post Uncompressed Photos on Facebook?
No. For ordinary posts there is no setting that makes Facebook store and serve your original file untouched. The high quality upload options are real and worth enabling, but they change the target size and how much data the app sends, not whether the server-side pipeline runs. Facebook's own help documentation on photos describes managing upload quality, not bypassing processing.
The honest framing is that the toggle moves you between renditions of the same machine. HD upload aims the pipeline at the larger 2048 class targets instead of the smaller ones, which is exactly why you should switch it on. It is also why switching it on will not return your 12 megapixel original to anyone. If a full resolution file has to reach another person intact, Facebook posts are the wrong vehicle, and the Messenger section below is not the loophole either.
Should You Upload PNG or JPEG to Facebook?
For photos, JPEG, exported well. The popular counter-advice says PNG survives Facebook better, and my test gives that a measured answer: my photographic PNG did not survive as a PNG at all. It came back a JPEG, 92.8% smaller, with its alpha channel flattened.
Where the PNG advice still holds
The PNG advice is not baseless, which is worth saying clearly. PNG is a lossless format by specification, compressed with DEFLATE rather than by discarding detail, per the W3C PNG specification, so a PNG source gives Facebook's encoder cleaner input than a compressed JPEG does. Screenshots, text-heavy graphics, and flat-color designs do genuinely tend to fare better uploaded as PNG, because they are exactly the content JPEG artifacts wreck. But a photographic PNG with transparency is a different object, and on my path Facebook converted it without asking.
The rule I would give a friend
The practical rule I would give a friend: photographs go up as JPEG at a sane quality, graphics with hard edges and text go up as PNG, and nothing with transparency you care about goes to Facebook at all, because the flattening is not optional. The tradeoffs between the two formats beyond Facebook are covered in the guide on PNG versus JPG, and the difference between lossy and lossless compression, which is the entire reason this choice matters, is laid out in the guide on lossy versus lossless compression.
Convert on your terms, not Facebook's
One more implication of the measurement. Since Facebook will convert a photographic PNG to JPEG anyway, doing the conversion yourself is strictly better: you pick the quality level and check the result before anyone sees it. Convert and compress the file with the photo compressor at quality 80 and you decide what gets kept, instead of inheriting whatever the pipeline chose.
What About Photos Sent Through Facebook Messenger?
Messenger compresses photos too, by every available report, but it is a separate pipeline and my 2026-07-18 test did not measure it. I am flagging that openly because the question carries as much search interest as the main one and nearly every page on this topic ignores it.
What Facebook actually documents about Messenger
What can be said with confidence is thin. Facebook publishes no Messenger-specific image spec, no resolution ceiling for photo messages, and no statement about metadata handling in chats. User reports consistently describe photo messages arriving noticeably compressed, often more aggressively than feed posts, and some Messenger clients offer a send-as-file path that users report preserves more. Reports are not measurements, and I will not dress them up as one. A Messenger test with the same two reference files is on the measurement list.
The safe assumption until it is measured
Until then, the safe assumption is that anything sent as a photo message gets recompressed. When the actual file matters, at full resolution with metadata intact, use a channel that measurably does not touch bytes: in my tests, Google Drive returned the same photo byte-identical, which is what a real file transfer looks like.
How to Beat Facebook Image Compression Before You Post
You cannot switch facebook image compression off, so the goal is to control every decision the pipeline would otherwise make for you. Resize on your terms, encode on your terms, and hand Facebook a file it has little reason to punish. Five moves, in order of impact.
Resize to 2048 pixels on the long edge yourself
My test showed Facebook lands on 2048 anyway, so get there first with a resampler you chose. A photo pre-sized to 2048x1536 skips Facebook's downscale entirely, and downscaling is where mushy detail and edge halos are born. The mechanics of doing this cleanly, and why sharpening after the resize matters, are in the guide on reducing image resolution.
Export in sRGB
Facebook normalizes to sRGB, so exporting in any wider profile means a conversion you do not supervise. Convert to sRGB in your editor, where you can see what the colors do, rather than letting the pipeline surprise you. If your photos look desaturated only after upload, this step, not the compression, is usually the culprit.
Export at quality 80, not 100
A quality 100 JPEG is enormous and gets re-encoded regardless, so the extra bytes buy nothing. A moderate, clean export around quality 80 gives Facebook's encoder well-behaved input and leaves less for it to strip. This is the same reason our own tool defaults to quality 80: for photographs it is the point where the file halves and the difference stays invisible at normal viewing size.
Turn on high quality uploads
In the Facebook app's media settings, enable the high quality photo upload option. It aims the pipeline at the larger rendition targets and stops the app from pre-shrinking your upload on a slow connection. It is the only control Facebook actually gives you, so take it, just without expecting originals from it.
Never re-upload a downloaded copy
A photo saved back off Facebook has already been resized, re-encoded, and stripped. Posting it again stacks a second lossy generation on the first, and a third if someone repeats the cycle. Generation loss is cumulative and never comes back. Keep your original outside Facebook and always post from it.
Does Facebook Compress Photos Harder Than Other Apps?
Harder than almost all of them. In this series only LinkedIn cut deeper on the same photo, and it did so by demolishing the resolution. Same file, same day, same method across every app: upload, retrieve, compare on disk.
| App and path | Same photo came back | Change | Dimensions |
|---|---|---|---|
| 22.0 KB | 99.5% smaller | resized to 480x360 | |
| 579.7 KB | 86.3% smaller | resized to 2048x1536 | |
| Bluesky | 1.56 MB | 62.3% smaller | resized to 4000x3000 |
| Google Photos, storage saver | 2.68 MB | 35.1% smaller | kept 4032x3024 |
| 3.91 MB | 5.4% smaller | kept 4032x3024 | |
| Discord | 497 KB | 0.3% smaller | kept 4032x3024 |
The Meta comparison is the striking one. Instagram returned the same photo 5.4% smaller at full resolution on the path I measured, while Facebook took 86.3% and three quarters of the pixels. Same company, wildly different appetite. LinkedIn's 99.5% cut is the only harsher result, and Discord barely touched the file, which shows platforms genuinely choose their own tradeoffs rather than following one industry norm.
The closest twin to Facebook's behavior is X. X's timeline copy of the same photo measured 2048x1536 at 802,715 bytes, an 81.5% reduction landing on the exact same pixel dimensions Facebook chose. Two unrelated platforms independently converging on 2048x1536 for a feed photo tells you where the industry thinks the quality-versus-bandwidth line sits.