uploading a Facebook profile photo without artifacting
New here? Learn about Bountify and follow @bountify to get notified of new bounties! x

The deliverables for this job are written instructions and not code.

I have a photo that I'm trying to upload as a Facebook profile picture, but when I upload it, Facebook introduces a lot of artifacting into the picture. You can see the before-and-after here:
http://peacefire.org/original-vs-facebook-artifacts.bmp
On the right is the original; on the left is the photo after I upload it and Facebook mangles it.

I know that Facebook modifies photos when they're uploaded, but most of my friends' profile pictures do not have this kind of artifacting. So I'm assuming that there's some way to modify the photo prior to uploading it, so that it won't get mangled as madly when it's uploaded to Facebook. (Save it as a different format before uploading, perhaps? I have no idea.)

So I need exact step-by-step instructions for what to do so that the photo will be uploaded without those kinds of artifacting problems. Please TEST the instructions yourself first and VERIFY that they actually work before submitting them as a "solution"! (Most "guesses" will be wrong. It does not work, for example, just to check the "High Quality" checkbox when creating a new Facebook album.)

Thanks for your help and I look forward to working with you!

awarded to alixaxel

Crowdsource coding tasks.

1 Solution

Winning solution

I can't test because I don't have access to your original photo, however, that looks like a color profile issue.

If you're interested in reading the details, I wrote a little about it: http://stackoverflow.com/a/5775030/89771:

sRGB Test


To (try to) fix it, make sure you specify the sRGB color space profile when you are saving / exporting the image with your image editor, this varies from editor to editor but in Photoshop it's the "Export to Web" option.

I could probably help you more if you upload (without changing it OFC) your original image somewhere.

Imgur
Imgur

Alixaxel, thanks for the pointer. The original image is here: http://peacefire.org/camano1.jpg I can't afford Photoshop -- is there a freeware tool that will do what I need, where you know exactly what steps I should take in that editor to save the file in the way that you want?
bennetthaselton over 6 years ago
@bennetthaselton: I'm on Linux, so I can only give you suggestions for software that works on Linux and Windows. I usually use GIMP 2.8 (http://gimp-win.sourceforge.net/) or Pinta (http://pinta-project.com/). I opened the image you gave me on GIMP and it automatically detected a embedded c2 color profile (http://i.imgur.com/6gYGQjx.png) which seems to suggest it was a scanned image, but I did some further tests and it seems that both GIMP and Pinta are able to convert the color profile to sRGB (the latter does it implicitly). Also, if you don't want to mess with additional software, Pixlr (http://pixlr.com/editor/) is also able to do it online.
alixaxel over 6 years ago
@bennetthaselton: Two more things: besides converting the color profile to sRGB, you probably will also want to save it as a JPEG with at least 85% quality (90% should work just fine) or, alternatively, as a lossless 24-bit PNG. The Facebook artifacts should be gone by now, but if you only plan on saving it for the square profile image, you might wanna save Facebook the trouble (and the possible quality degradation) and crop your image to a square with a width/height multiple of 168x168 pixels.
alixaxel over 6 years ago
@alixaxel: I tried using the image that you posted, thanks, but Facebook rejected it with the error: "The image you tried to upload is too small. It needs to be at least 180 pixels wide. Please try again with a larger image." Can you do whatever you did before, but make it 180x180? :) I tried reproducing the same steps that you did, however all the GIMP mirrors said they would take at least an hour to download (and it was 2:30 in the morning when I tried, so those must be really slow mirrors!). I tried uploading the image to Pixlr too but I couldn't find the option to convert the color profile.
bennetthaselton over 6 years ago
@bennetthaselton: My bad, I've uploaded a new image. Regarding Pixlr, it should convert to sRGB automatically.
alixaxel over 6 years ago
@alixaxel: Sorry, I tried uploading the image again but this time Facebook resized it and introduced the same artifacting problem: http://peacefire.org/larger-bountify-version-vs-facebook-upload.jpg On the right is your image, which looks fine, but on the left is the image after Facebook screwed it up :) I would have cropped the image myself using Pixlr, but when I tried saving an image with Pixlr before (which as you suggested should convert to sRGB automatically), it had the same artifacting problem. Can you try using your software to crop the image to exactly 180x180 pixels (centered on my face) and I'll try uploading that to see if it works? Even if that doesn't work I'll just approve the bounty anyway. This is a lot of work for $5 :)
bennetthaselton over 6 years ago
@bennetthaselton: Humm... Sorry about that, I really thought the quality would improve considerably. I wanted to test whether this worked or not but it would be kinda odd to upload that specific picture onto my own profile. Anyway, I will do that and I will try to cook up a quick script as well to see if the result improves.
alixaxel over 6 years ago
@bennetthaselton: Here it is: http://imgur.com/a/9veqM#0 (use the cog icon to download/view the original image). I've applied a couple filters to enhance the quality a bit and I've also sharpen both images for the following reason; I read a little bit more about FB image processing mechanics and I found a wall post where they describe that they use their own striped sRGB color profile to strip a couple of bytes off the image, but in my option that doesn't account for all the artifacts. My theory is that Facebook is applying a auto-sharpen filter and, because the photo you have isn't well focused on your face, it sharpens more than it should and ends up messing it up. Possibly, by feeding him a already sharpened image the auto-sharpen they apply won't generate so many noticeable artifacts.
alixaxel over 6 years ago
@bennetthaselton: If the problem keeps persisting, you could also try the new WebP format. Feed http://i.imgur.com/gLsekAb.jpg to http://image.online-convert.com/convert-to-webp and play around with the enhance settings. I've read a while ago that Facebook was pushing WebP support together with Google, perhaps the filters they apply to WebP images might produce better results than JPEG/PNG ones. Further reading: http://photo.stackexchange.com/a/357/5054, http://photo.stackexchange.com/a/27712/5054, http://photo.stackexchange.com/q/24574/5054, http://goo.gl/2Ft0l, https://www.facebook.com/help/photos/photo-viewer.
alixaxel over 6 years ago
@bennetthaselton: Here are the results of my test Facebook.
alixaxel over 6 years ago
OK I appreciate the suggestions. (Unfortunately I also uploaded the latest picture you sent me and it also ended up with a lot of artifacts when Facebook used it for my profile picture.) I'll post it as a new $25 task but ask someone to post a screen shot proving that they uploaded it as a profile picture successfully :)
bennetthaselton over 6 years ago
Well the "Award Bounty" button isn't working. I tried logging in with both IE and Firefox and clicking the green "Award Bounty" at the top of this thread, but nothing happened. Guess they didn't hire any testers. Will try again tomorrow.
bennetthaselton over 6 years ago
@bennetthaselton: I don't think you can award bounties until you mark a answer as correct / working. I will take a closer look at this later on, it has to be possible to at least substantially decrease the generated artifacts.
alixaxel over 6 years ago
Oh OK, well the "Leave feedback" and "Award bounty" buttons at the top of the page were both not doing anything when I clicked on them, but the "Leave feedback" button next to your specific solution was working, so I did that and the bounty should have been awarded to you. (If anyone else runs into this problem trying to pay you, at least now you know how to fix it :) )
bennetthaselton over 6 years ago