Skip to content
Free Tool Arena

Developer Utilities · Free tool

Instagram Embed Generator

Create official blockquote embeds for Instagram posts and reels with custom width and caption in your browser—free, instant, and no sign-up.

Updated June 2026
<blockquote class="instagram-media" data-instgrm-captioned data-instgrm-permalink="https://www.instagram.com/p/POST_ID/" data-instgrm-version="14" style="background:#FFF;border:0;border-radius:3px;box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15);margin:1px;max-width:540px;min-width:326px;padding:0;width:99.375%;width:-webkit-calc(100% - 2px);width:calc(100% - 2px)">
  <a href="https://www.instagram.com/p/POST_ID/" style="background:#FFFFFF;line-height:0;padding:0 0;text-align:center;text-decoration:none;width:100%" target="_blank" rel="noopener noreferrer">
    View this post on Instagram
  </a>
</blockquote>
<script async src="https://www.instagram.com/embed.js"></script>

Uses Instagram’s official blockquote+script embed. The embed.js script renders the post once it’s loaded. Posts must be from public accounts; private posts won’t embed.

Found this useful?EmailBuy Me a Coffee

Advertisement

What it does

Generate Instagram post and Reel embed code using the official blockquote+embed.js pattern. Paste any public Instagram post or Reel URL, customize max width, toggle caption visibility, copy the snippet. Drop into a blog post, news article, marketing page, or anywhere accepting raw HTML — the embed renders an inline player matching Instagram’s native feed style.

Why use the official Instagram embed: engagement attribution — likes, comments, and follows from your embedded post count toward the original creator’s metrics, making them more likely to engage back; always-current — if the creator updates the caption or adds a comment pin, your embed reflects it; terms-of-service compliance — Instagram’s ToS permits embedding via official plugins; downloading and re-hosting images is more ambiguous; interactive — viewers can like, follow, or visit the original post directly from the embed without leaving your page.

The embed is two parts: a <blockquote> with the post URL and metadata that displays as a fallback link if JS doesn’t load, plus a single <script> tag pointing at Instagram’s embed.js that converts the blockquote into an iframe when the page loads. Universal — works on WordPress, Substack, Notion, Ghost, static sites, etc. For Reels specifically, the embed includes the video player; for posts, image carousels and IGTV are also supported.

Embed this tool on your siteShow snippet

Paste this snippet into any page. Loads on-demand (lazy), no tracking scripts, and sized to most dashboards. Replace the height to fit your layout.

<iframe src="https://freetoolarena.com/embed/instagram-embed-generator" width="100%" height="720" frameborder="0" loading="lazy" title="Instagram Embed Generator" style="border:1px solid #e2e8f0;border-radius:12px;max-width:720px;"></iframe>
Embed docs →

How to use it

  1. Paste the Instagram URL: a post URL (instagram.com/p/SHORTCODE/) or Reel URL (instagram.com/reel/SHORTCODE/).
  2. Set max width: 540px (default, widest Instagram supports), 480px (medium), 320px (narrow column), or custom.
  3. Toggle caption visibility — sometimes you want the post visual without the long caption taking up space.
  4. Copy the generated HTML. It's two pieces: a <blockquote> block and one <script> tag. The script tag goes anywhere on the page (you only need it once even if you have multiple embeds).
  5. Paste into your destination's HTML block. WordPress / Substack / Notion / most CMSes accept the block as-is.

When to use this tool

  • Embedding an Instagram post in a blog post, news article, or marketing page.
  • Showcasing user-generated content, brand mentions, or viral posts.
  • Tutorial pages where the Instagram Reel IS the tutorial.
  • Press / PR pages featuring Instagram-shared moments related to your topic.

When not to use it

  • Private posts — Instagram requires public posts for embedding. If the account is private, embeds fail.
  • Pages where you can't add <script> tags (some restricted CMS environments). Some platforms accept iframe-only embeds; Instagram doesn't natively support that.
  • AMP pages — Instagram's standard embed isn't AMP-compatible. Use amp-instagram component instead.
  • Performance-critical pages — Instagram embeds load embed.js + Instagram analytics, adding 200-500KB and several network requests. For lightweight previews, use a static thumbnail image with click-to-load.

Common use cases

  • Onboarding a colleague who needs the same calculation/conversion
  • Verifying a number or output before passing it on
  • Quick generation during a typical workday
  • Pre-decision sanity-check on inputs and outputs

Frequently asked questions

Why doesn't my private post embed?
Instagram only allows embedding from public accounts and posts. If your account is private, NONE of your posts can be embedded. If a specific post is set to 'Close Friends' or otherwise restricted, that post specifically won't embed. Change the account to public (Settings → Privacy → Public), or pick a different post.
What's the difference between a post and a Reel embed?
Both use the same embed format (blockquote + embed.js) — the URL pattern differs (instagram.com/p/ for posts, instagram.com/reel/ for Reels). The rendering also differs: post embeds default to image-first, Reels default to video-first with autoplay-muted. Both let viewers interact with the original.
Can I customize the embed appearance beyond width and caption?
Limited. Instagram's embed has a fixed visual design — their branding, their player UI, their suggested-content area. You can hide the caption, set width, but not change colors, fonts, or layout. For substantially custom appearance, build your own UI and link to the post (losing engagement attribution and platform updates).
Will the embed track my visitors?
Yes. Instagram's embed.js sets cookies for session tracking and view metrics. Logged-in Instagram users see personalized recommendations after viewing. If your privacy policy mentions third-party tracking, Instagram embeds qualify and should be disclosed.
How do I get the right URL?
Open the Instagram post or Reel in your browser. The URL in the address bar is the canonical form: instagram.com/p/SHORTCODE/ for posts, instagram.com/reel/SHORTCODE/ for Reels. The mobile app share button gives you the same URL. Don't use deep-link or affiliate-tracking URLs.
Will the embed work on Substack, Notion, Medium, WordPress?
Substack: yes — paste the URL, Substack auto-embeds. Notion: yes via the embed block. Medium: yes via the embed feature. WordPress: yes in either the Custom HTML block or via the WordPress.com Instagram embed plugin. Some platforms strip the <script> tag for security; in those cases the blockquote alone shows as a clickable preview link.

Advertisement

Learn more

Explore more developer utilities tools

100% in-browserNo downloadsNo sign-upMalware-freeHow we keep this safe →

Found this useful?

The tools stay free thanks to readers who chip in or spread the word.

Buy Me a Coffee