Guide

Instagram embed not working? Common causes and fixes

A checklist for Instagram embeds that show a blank box, a plain link or the wrong size, with the usual cause and fix for each.

Quick answer: most broken Instagram embeds come from a private or deleted post, a blocked script, or a page that was cached before the embed was added. Work through the list below from top to bottom.

1. The post is not public

Only public posts, reels and videos can be embedded. If the account is private, or the post was deleted or archived, the embed shows nothing or an error. Open the link in a private browser window. If you cannot see it there, nobody else can embed it.

2. You pasted the wrong kind of link

Use the permalink of a single post, reel or video. Profile links and stories do not work. Links copied from the app may include a ?igsh= tracking parameter. It is harmless, but the embed generator removes it so the code stays clean.

3. The script is blocked

The blockquote code only becomes a post once Instagram's embed.js runs. It can be stopped by:

4. The page was cached or minified

If the embed appears in the editor but not on the live page, clear your cache plugin and CDN. Also exclude the embed script from combining and delay options in your optimisation plugin.

5. Embeds added after the page loaded

If you insert the blockquote with JavaScript, for example in a tab or popup, ask Instagram's script to scan again by calling window.instgrm.Embeds.process() after the content is added.

6. The size looks wrong

Instagram renders embeds between about 326 and 540 pixels wide and adds inline styles. Ordinary CSS cannot override them, so you need !important rules. The embed style generator writes them for you.

Still stuck?

Try the iframe version of the code. It does not rely on the script, so it shows whether the problem is the script or the post itself.