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.
<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.
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 snippetHide
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>How to use it
- Paste the Instagram URL: a post URL (instagram.com/p/SHORTCODE/) or Reel URL (instagram.com/reel/SHORTCODE/).
- Set max width: 540px (default, widest Instagram supports), 480px (medium), 320px (narrow column), or custom.
- Toggle caption visibility — sometimes you want the post visual without the long caption taking up space.
- 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).
- 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
Guides about this topic
- Using Our Tools · GuideHow to generate QR codesMake QR codes for URLs, WiFi, vCard, or text. Learn error correction and sizing, then generate your QR code online free with no sign-up in seconds.
- Using Our Tools · GuideHow to create a strong passwordGenerate a strong password instantly online for free. Build high-entropy passphrases following NIST 2026 rules with no download needed.
- Developers & Technical · GuideHow to encode and decode Base64Understand the 3-to-4 mechanic and 33% overhead for standard, URL-safe, and MIME Base64. Free online reference to avoid common mistakes, no download needed.
- Design & Media · GuideHow to choose a color paletteBuild accessible color palettes using HSL theory, monochromatic to triadic schemes, WCAG contrast checks, and dark mode tips. Free, no-download guide.
- Developers & Technical · GuideHow to use JWT tokens securelyImplement secure JWT authentication by choosing RS256, setting expiration, using httpOnly cookies, and preventing 'alg: none' attacks in your browser for free.
- Design & Media · GuideHow to design a faviconCreate favicons that render perfectly from 16×16 to 512×512 with dark mode support. Learn the right HTML tags and web manifest setup free online.
Explore more developer utilities tools
- Port Number LookupSearch over 140 well-known TCP and UDP ports by number or service name. Free online reference tool with no sign-up, covering web, mail, DNS, and more.
- Test Credit Card NumbersReference table of canonical test card numbers from Stripe, Adyen, and Braintree sandbox docs. Plus Luhn validator + network detector.
- IPv6 Expander & ShortenerFormat IPv6 addresses to canonical form, handling zone IDs and prefixes, instantly online—free tool with no registration required.
- Htpasswd GeneratorCreate .htpasswd lines for Apache or nginx basic auth with browser-only SHA hashing instantly. Includes config snippets and a free online tool with no registration.
- Chmod CalculatorCalculate Unix file permissions: octal (755, 644) ↔ symbolic (rwxr-xr-x) ↔ rwx checkboxes. Covers setuid, setgid, sticky bit. With presets.
- Excel Formula ExplainerPaste any formula and get a plain-English breakdown of 60+ functions online free—no sign-up required, in your browser.