Instagram PNG images: why posting needs JPEG
By PostPen Team ·
A post published through Instagram's API, which is how every scheduler posts, has to use JPEG images. That catches out anyone who schedules: the same PNG that works on LinkedIn, X and Threads is refused for Instagram. PostPen's Composer handles it for you by making a JPEG copy for Instagram only.
Start free and connect Instagram. Your agent writes, PostPen schedules and publishes.
What Meta's docs say
Meta's Content Publishing page for the Instagram Platform (Meta for Developers, checked November 3, 2026) says: "JPEG is the only image format supported. Extended JPEG formats such as MPO and JPS are not supported."
So a PNG, WebP or GIF can't go to Instagram as it is through any scheduler. It has to become a JPEG first.
What the Composer does
When you add a PNG, WebP or GIF to a post in PostPen's Composer and Instagram is one of its networks, the Composer makes a JPEG copy of that image for Instagram:
- Only Instagram gets the copy. LinkedIn, X, Facebook and Threads get your original file, at its own quality and format.
- Transparent parts turn white. JPEG has no transparency, so a logo on a transparent background sits on white in Instagram's copy.
- An animated GIF keeps its first frame. Instagram's copy is a still image. The networks that take GIFs get the animation.
- The quality stays high. The copy is saved at high JPEG quality, so what you see is mostly Instagram's own compression.
- Alt text carries over. Describe the image once, and Instagram's copy keeps the description.
The Composer checks Instagram with the copy it will get, so the post isn't held back for being a PNG.
What your agent should send
The JPEG copy is made in the Composer, in your browser. When your agent saves a post, it should attach JPEG images for Instagram. If it attaches a PNG, WebP or GIF to a post that goes to Instagram, save_draft returns the reason in network_problems: Instagram only takes JPEG images. schedule_post waits until the post is fixed, so nothing fails at posting time.
Two ways to handle it:
- Ask your agent for JPEG files when Instagram is one of the networks.
- Open the draft in the Composer and add the image there, which makes the copy for you.
Instagram's other limits
| What | Limit through PostPen |
|---|---|
| Media | Needs an image or a video. Up to 10 JPEG images, or one video |
| Image size | Up to 5MB each |
| Caption | 2,200 characters, at most 30 hashtags |
| Account | An Instagram professional account |
See the Instagram scheduler for everything PostPen does on Instagram.
Ask your agent for an Instagram post
Post these three product shots to Instagram and LinkedIn on Friday at 11 AM. Use JPEG files for Instagram.
Your agent finds both accounts with list_destinations, saves the draft with the images and a caption for each network, and schedules it. If anything can't go to Instagram, it gets the reason before the post is scheduled.
FAQ
Not as a PNG. Meta's content publishing docs say JPEG is the only image format supported, so a PNG has to become a JPEG first.
Yes, in the Composer. Add a PNG, WebP or GIF and the Composer makes a JPEG copy for Instagram. The other networks get your original file.
JPEG has no transparency, so the transparent parts become white in Instagram's copy.
Instagram's copy keeps the GIF's first frame, as a still JPEG. The other networks that take GIFs get the animation.
JPEG images. If it attaches a PNG, WebP or GIF to an Instagram post, save_draft says so in network_problems and the post waits until it's fixed.
Schedule your first Instagram post
Connect Instagram, add PostPen to your agent, and send the same images everywhere without a format mix-up.
Start free and connect your agent. Your agent writes, PostPen schedules and publishes.
