Use SizeMatters:

Have you ever wanted to post a portrait-orientation picture to Instagram, but when you go to do so, Instagram forces you to crop it because it is "too tall" for Instagram?

For those of us that don't want to crop our image, we usually go and grab an "app" that fits the whole picture into a square and fills in the new space with a background color. This is really silly because we could be getting more pixels for our pictures! Instagram allows a maximum image size of 1080 pixels wide by 1350 pixels tall. This tool gives you the maximum number of pixels allowed by Instagram for your picture.

This tool makes a best effort to leave your image in as pristine condition as possible. Every effort is made to keep the metadata intact. The resizing algorithm uses bicubic interpolation, to, hopefully, yield the best results. The image library used is, actually, the same one used in Instagram's backend (Python Pillow library - see "Bringing Wide Color to Instagram"). Also, you get to choose the JPEG image quality setting. This is default to 75, but Instagram may use lower, say 50.

You can make use of this tool via the form on the left / above. It will process your image and redirect you to the new image so you can save it. The code (which is Python) is available on GitHub in one of my repositories at

A free and ad-free iOS version of this tool is, also, available in the App Store in case you want to work on your images locally, or replace your put-it-in-a-square app.

Thanks for checking this out!

If you'd like to contribute to help with the cost to submit to the App Store, you can send me donations on PayPal: