How to Design for Facebook


Facebook hates design.

At least that how I've felt when trying to design images for Facebook. They use image compression on any image you upload, leaving artifacts and fuzzy images, and when you go to their help center to try to figure out what you're doing wrong, their help center is anything BUT helpful.

I got you.

I spent my Sunday figuring out the best options for posting on Facebook, so you don't have to.

Profile photo

From Facebook’s help center:

“Your Page's profile picture:

  • Displays at 170x170 pixels on your Page on computers, 128x128 pixels on smartphones and 36x36 pixels on most feature phones

  • Will be cropped to fit a square”

When you try to upload a 170x170 image for your profile picture:

When you upload a 180x180 profile picture:

Okay, let’s try 360x360.

Okay, no warning message this time - here’s the profile image saved as jpg, file size 5.84K.

Same image as 3.5K png:

Both are suffering from Facebook’s image compression, but it looks like the png is standing up slightly better.

Let's try 720x720px:

Jpg is looking a lot better! The edges of the logo are a little fuzzy, but there’s no jpg artifacts in the white like the 360px image had. The file size is 29.1K

Jpg is looking a lot better! The edges of the logo are a little fuzzy, but there’s no jpg artifacts in the white like the 360px image had. The file size is 29.1K

Png looks about the same as the 720 jpeg, possibly slightly sharper. This image is 17K

Png looks about the same as the 720 jpeg, possibly slightly sharper. This image is 17K

Let’s try a 1200px square, to see if we can get rid of a little of the fuzziness:

Jpeg looks okay, but some of the edges look a little oversharpened. File size: 57K

Jpeg looks okay, but some of the edges look a little oversharpened. File size: 57K

Png looks pretty much the same as the 720 image; possibly slightly sharper. File size: 30.7K

Png looks pretty much the same as the 720 image; possibly slightly sharper. File size: 30.7K

For a black and white design, I would choose the 1200x1200 png for the best quality image. But since it’s black and white, it’s easy to keep the file size small, avoiding heavy compression from Facebook.

Let’s try a more complex image and see if the result is the same.

720x720px jpg, 198K

720x720px jpg, 198K

1200x1200px jpg, 426K

1200x1200px jpg, 426K

720x720px png, 120K

720x720px png, 120K

1200x1200px png, 242K

1200x1200px png, 242K

Winner: 1200x1200px png

How about even more complicated colors?

720x720px jpg, 79.8K

720x720px jpg, 79.8K

1200x1200px jpg, 198 KB

1200x1200px jpg, 198 KB

720x720px png, 132K

720x720px png, 132K

1200x1200px png, 239 K

1200x1200px png, 239 K

Winner: 1200px jpg or png

What about photos?

720x720px jpg, 428K

720x720px jpg, 428K

1200x1200px jpg, 1MB

1200x1200px jpg, 1MB

720x720px png, 861K

720x720px png, 861K

1200x1200px png, 2.2MB

1200x1200px png, 2.2MB

Winner: 1200px jpg or png


For simple designs, use a high resolution of png for greatest clarity.

For more complex images, experiment between png and jpg at a high resolution. 

Profile Header

Facebook’s tips for cover photos:

“Your Page's cover photo:

  • Displays at 820 pixels wide by 312 pixels tall on your Page on computers and 640 pixels wide by 360 pixels tall on smartphones

  • Doesn't display on feature phones

  • Must be at least 399 pixels wide and 150 pixels tall

  • Loads fastest as an sRGB JPG file that's 851 pixels wide, 315 pixels tall and less than 100 kilobytes

For profile pictures and cover photos with your logo or text, you may get a better result by using a PNG file.”

First of all, I had to look up what a sRGB JPG was. It’s the specific color profile used by most web browsers to display images on the web. The technicalities of it are a bit beyond my scope, but it comes down to how colors are translated online.

To save as a sRGB JPEG in Photoshop, use the File>Export>Save for Web (Legacy) command (Cmd+Alt+Shift+S) and make sure the Convert to sRGB box is ticked.

I tried to find you a way to save as a sRGB JPEG in Canva, but couldn’t find any information on it. Sorry, Canva users! But good news! GIMP, a free editing software that’s a lot like a watered down Photoshop, has sRGB as it’s default JPEG color profile, so (if I understand correctly) any jpeg you save in GIMP with be a sRGB JPEG.

For the rest of this article, all of the jpegs I’ll be testing will be saved with the sRGB color profile, per Facebook’s suggestion.

Before we start exploring different sizes and file types, let’s set up our basic header template. Personal headers display differently on desktop and mobile, so we want to make sure all the important design elements will be displayed on both views. Your profile picture and some gray buttons also overlap your header on desktop. On mobile, the top of your header is overlaid with a search bar and the bottom is overlaid with your profile picture. A lot of moving parts going on.

Here’s what all that looks like:

Just to be clear, only that odd shape in the middle will show up clearly on desktop and mobile.

My suggestion for design: put your most important information in the safe zone. Anything else you can place in the upper part of the header, and just accept that on mobile the search bar will obscure it. I would also avoid any weird cropping - make sure any design elements are either fully contained in the mobile, or completely cut off on mobile - avoid having any elements overlap the vertical blue lines in the diagram.

So let’s try a design-heavy image at Facebook’s minimum sizes.

820x360px jpg, 112KB

820x360px png, 68.8KB

Not to my surprise, Facebook image sizes aren’t useful in creating quality images. Next, I’ll try doubling the resolution of the images.

1640x720px jpg, 274KB

1640x720px png, 180KB

Not bad, but what if I make it 3 times as big as Facebook’s suggestions?

2460x1080px jpg, 489K

2460x1080px png, 308KB

Making the files even bigger didn’t seem to add to the quality of the images; both the 1640x720px and the 2460x1080 were compressed about the same amount, just in slightly different ways. None of them escape compression artifacts, unfortunately.

Winner: 1640x720px png

Let's try a photo header.

1640x720px jpg, 1.16MB

2460x1080px jpg, 2.37MB

1640x720px png, 2.13MB

2460x1080px png, 4.54MB

Winner: 1640x720px png is slightly sharper than the rest.

Note: Facebook suggests keeping the file size under 100KB, but the image has to be so small to get the file size to under 100K that you run into quality issues either way.


Opt for photo-heavy headers, and save as png at 1640x720px

Business Page Header

From Facebook: Facebook currently redirects you to the instructions for the personal page header, even though the business page header design changed at the beginning of 2017.

On desktop, the header is displayed at 820x311px. On mobile, it displays at 1080x605. Which means the mobile view of the header is taller than on desktop. Fortunately, that is the only consideration when designing a business header, as no elements overlap it.

Let’s try out some design-heavy headers

1080x605px jpg, 74K

1080x605px png, 52.3K

Winner: 1080x605px png

The same holds for a complex design:

1080x605px jpg, 1.16MB

080x605px png, 1.54MB

And for a photo header:

1080x605px jpg, 1.19MB

1080x605px png, 2.76MB

Since the business header is the most recently updated graphic, I can’t help but hope this means Facebook is moving to a more design-friendly interface across the board.


Design your business header as a 1080x605px png.

Group Header

From Facebook: “Keep in mind that your cover photo must be at least 400 pixels wide and 150 pixels tall.”

On desktop, the groups banner displays at 820x250px. On mobile, it displays at 1080x609.

But group headers are perhaps the most complex to design, because you have three views to consider:

  1. Desktop

  2. Mobile

  3. Groups Page

On the groups page, the header is shown only in a small circle thumbnail. It ends up looking like this when you consider all three views:

Based on the dimensions it’s displayed at on desktop and mobile, it should be at least 2014x609px.

Let’s try out a design-heavy banner:

2014x609px jpeg, 393K

2014x609px png, 122K

Not looking great - let’s see if an increase in resolution will improve it.

4028x1218px jpeg, 972K

4028x1218px png, 285K

It seems, as with the personal header, Facebook just has no good options for design-centric group headers.

For photos:

2014x609px jpeg, 756K

2014x609px png, 1.54MB


Use photo-dominate images for Groups Headers, saved as pngs at 2014x609.

Image Posts

From Facebook:

“We automatically resize and format your photos when you upload them to Facebook. To help make sure your photos appear in the highest possible quality, try these tips:

  • Resize your photo to one of the following supported sizes: 720px, 960px or 2048px wide

  • Save your image as a JPG with an sRGB color profile”

At 720px wide, the tallest you can make your image before Facebook starts cutting it off is 1079px tall.

Here’s how design-heavy and photo-heavy images fair at the three sizes Facebook suggests:

720x1079px jpg, 116K

960x1439px jpg, 167K

2048x3070px jpg, 426K

720x1079px jpg, 380K

960x1439px jpg, 186K

2048x3070px jpg, 4.85M

720x1079px png, 31.3K

960x1439px png, 43.6K

2048x3070px png, 109K

720x1079px png, 116K

720x1079px png, 116K

960x1439px png, 1.76M

2048x3070px png, 10.5M


If you can, save your images as 2048x3070px pngs, but 960x1439px pngs can substitute if you don’t have images large enough.

Linked Images

From Facebook: no information on linked images, just a short excerpt about how to post a link.

Linked images are displayed at 462x255 on desktop and at 1080x558 on mobile.

Facebook seems to leave linked images alone, so using a 1080x558 png works perfectly.


I hope that wasn't too overwhelming. To help you sort the information, here's a summary of what I suggest for your Facebook images:

Profile Photo: 1200x1200 png

Profile Header: 1640x720 photo-dominant png

Business Header: 1080x605px png

Group Header: 2014x609 photo-dominant png

Posted Image: 2048x3070px png, or 960x1439px png if 2048x3070 isn't possible

Linked Image: 1080x558 png