How to upload PNG profile images to Twitter

Let us help you to put your best digital foot forward with this guide to getting the most out of your profile picture.

To improve user experience and manage bandwidth costs Twitter will automatically compresses PNG image to a lower quality JPG. It’s unlikely that you’ll even notice this on your personal profile but when it comes to your business; the key to success is in the detail. 

As a nation we’re spending more and more time on online with the average time spent on a mobile device reach 1.8 hours a day and on desktop a jaw dropping 3.8 hours. Worldwide we’re currently averaging an incredible 6,000 tps (Tweets per second - check out live stats here) so every second really does count when it comes to brand impact.

What exactly does Twitter do with images? 

What exactly does Twitter do with images? 

When you upload a new profile picture in the conventional way, edit profile> upload new profile image, that the results are less than perfect. Take a look at this example. 

You’ll notice is the loss of colour and pixelated edges, for us this simply isn’t good enough. This degradation is very obvious in a number of environments where the profile picture is shown in the Twitter interface.

You can tackle this head on by uploading your profile picture through Twitter’s API, you’ll bypass the JPG compression and be left with the crisp image you were looking for. 

The fix.

A quick note before you start, you need to make sure your image is no larger than 700KB and the image dimensions are a max of 400px x 400px. If you don’t meet these criteria Twitter will scale down the image regardless.  

Let's begin. 

Let's begin. 

Step one

Head to and select OAuth 1 to authorise your Twitter account.

Step two

Select the API method “update_profile_image.json”. (Tip: Save yourself some time and search for the method in the search bar on the left)

Step three

Go to the ‘Body’ tab and scroll the top section down until you find the image upload button.

Step four

Hit the ‘choose file’ button, select your image and hit send.

Voila, you're all set. 

We’d love to know how you get on and if there are any other tips and tricks you’d like us to share.

If you want to take a look at the difference this change in upload method makes, head over to the Achieve Awesome feed. While you’re there you can find out more about the intelligent project management tool we’re building and sign up for first access to our beta.

Grow your business

Find out how Deep Blue Sky can grow your business.

  1. Digital benchmark
  2. Digital roadmap
  3. Digital engineering

Write a comment.

Responses. (4)

  1. M M


    This is a godsend, thank you so much! It works like a dream. I was wondering if there's a similar component for the Twitter profile header i.e. update_profile_banner? Though I'm not sure if Twitter now compresses profile headers from png to jpg (if it does, it's not as visible as it is with profile images). Anyway, it bears repeating that this is an absolutely fantastic tool! Thank you for sharing!

  2. i A


    I needed this badly!

    Works lovely, thank you very much!

  3. C A



    Not working anymore. ??

  4. J M


    [Official Update] ~ JANUARY 2018 - Unknown Status

    We've been made aware that this solution might not be functioning anymore. We will update you as soon as possible.

Free digital advice.

If you've got a great idea for a website or platform, why not book one of our free digital assessments to unlock your project's potential.