Facebook reduces photo quality because it re-processes every upload: the long edge is capped at 2048 pixels, the file is re-encoded as a JPEG at Facebook's chosen quality, the EXIF and colour profile are removed, and, if you upload from the phone app with the default settings, the app shrinks the photo before it even leaves your phone. You can't switch that pipeline off. You can turn on Upload HD, upload a file that already matches what Facebook displays, and give its encoder nothing to fight. Photos uploaded that way come through looking like the original at normal viewing size.
What Facebook does to every photo
Facebook's own help page says regular photos should be 720, 960 or 2048 px wide, saved as JPEG in sRGB, and that a cover photo should be 851×315 and under 100 KB. Read between the lines and you have the whole pipeline:
- 2048 px cap. Anything larger is scaled down on their servers with a fast resampler that softens fine detail. Nothing larger than 2048 px is stored or shown.
- JPEG conversion. Every format becomes JPEG at a quality Facebook picks. PNG, HEIC and WebP are converted, not preserved.
- EXIF stripped. Camera data, GPS location and the colour profile are removed. Good for privacy, bad for photos in Adobe RGB or Display P3, which come out dull once the profile is gone. Export sRGB.
- App-side downscale. On mobile, with Upload HD off, the app sends a smaller version to save data. This is the single biggest cause of blurry uploads from phones.
The damage compounds when a 6000 px, 8 MB camera file goes in: it is resized on the phone, resized again on the server, and re-encoded twice. A 1080 px, 800 KB JPEG goes through with one light encode.
Turn on Upload HD
- Open the Facebook app and tap the menu (your profile picture or the three lines).
- Tap Settings & privacy, then Settings.
- Scroll to Media, under Preferences.
- Turn on Upload HD for photos, and for videos if you post them.
The switch decides whether the app downsizes before uploading. It uses more mobile data, which is why it is off by default; on an average Indian connection, post on Wi-Fi when you can. Older app versions put the same toggle under Settings › Media and contacts. When you upload from a browser on a computer there is no app-side downscale, so a correctly sized file goes straight to the server.
The sizes Facebook displays without extra scaling
| Placement | Pixels | Notes |
|---|---|---|
| Feed photo, portrait | 1080×1350 (4:5) | The tallest a phone feed shows; fills the screen |
| Feed photo, square | 1080×1080 | Products, older libraries |
| Link preview image | 1200×630 (1.91:1) | Used when you share a URL |
| Profile picture | 720×720 | Displayed at 170 px on desktop; crop tight on the face |
| Cover photo | 851×315, JPG under 100 KB | Shown without extra compression; phones display a 640×360 slice |
| Story | 1080×1920 (9:16) | Keep the middle 1080×1420 clear of the interface |
| Event cover | 1920×1005 (1.91:1) | Same shape as a link image |
| Maximum stored | 2048 px long edge | Anything bigger is scaled down |
For feed photos, 1080 px wide is the practical choice: it is what phones display, it is inside the 2048 cap so the server has no resize to do, and a JPEG at that size lands around 500 KB to 1 MB at quality 80 to 85, which Facebook re-encodes gently. If you want the most Facebook will keep, for people who open photos full-screen on a desktop, export 2048 px on the long edge at quality 85.
Cover photos are the special case. Facebook says an sRGB JPG at exactly 851×315 and under 100 KB is displayed as uploaded. The cover photo page exports exactly that and marks the centre area that survives both the desktop and the phone crop.
The PNG trick is dead
For years the advice was to upload a PNG, because Facebook used to pass small PNGs through untouched and show them without JPEG artifacts. That stopped: PNG uploads are now converted to JPEG like everything else. All a PNG does today is make the upload several times bigger and slower on mobile data, and then get the same treatment. Use PNG only for a small flat graphic with text; for photos it has no upside.
Prepare the file
The Facebook page has a preset for each placement above. Feed post 4:5 crops to 1080×1350, resizes in steps, sharpens the final pixels and lands the JPEG between roughly 850 KB and 1 MB. Feed post 1:1, Link image, Profile picture, Page cover, Story and Event cover do the same for their sizes. Everything runs in your browser; nothing is uploaded to us.
- Open the Facebook page and choose the placement in the Placement menu.
- Tap Choose photos (up to 50 at once for an album) and drag the preview to set the crop.
- Check the size readout, then tap Download, or Share straight into the Facebook app on a phone.
- With Upload HD on, post it, and wait for the upload to finish before leaving the app.
Rule: upload the size Facebook shows (1080 px wide for the feed, 2048 px at most), as an sRGB JPEG, with Upload HD on. Facebook still re-encodes, but a file that needs no resizing loses almost nothing.
Stories
Stories are compressed harder than feed photos and shown full-screen, so soft sources look worst there. Export exactly 1080×1920, keep faces and text inside the middle 1080×1420 (the top and bottom are covered by your name and the reply bar), and keep the file under about 1.5 MB. A photo that isn't 9:16 gets a blurred background; crop it yourself so the visible part is sharp.
EXIF, colour and a privacy note
Facebook removing EXIF means the GPS location in your camera photos is not published, which is a good thing. It also means embedded colour profiles are discarded, so a photo in Display P3 (the default on many iPhones) or Adobe RGB is shown as if it were sRGB, with flatter, slightly shifted colours. Export sRGB and it looks the way you edited it. The tool converts to sRGB and strips metadata on every export.
What this can't do
No file and no setting stops Facebook from re-encoding, from capping at 2048 px, or from stripping the profile. Photos also look different on the desktop site, which shows larger versions, than in the app. What the steps above do is make sure the only thing Facebook does to your photo is one gentle JPEG pass, which at normal viewing size is invisible.
Checklist
- Upload HD on: Settings & privacy › Settings › Media
- Feed: 1080×1350 or 1080×1080, sRGB JPEG, 500 KB to 1 MB
- Maximum useful size: 2048 px on the long edge
- Cover: 851×315 JPG under 100 KB
- Profile: 720×720, tight on the face; story: 1080×1920 with the middle 1080×1420 clear
- Forget PNG for photos; it is converted anyway
- Post on Wi-Fi and let the upload finish
Facebook will still compress the photo. Done this way, you won't be able to see where.