Instagram  Tutorial 
Updated October 5, 2026

How to Embed an Instagram Feed on Any Website

Iain profile image
Iain

To embed an Instagram feed on your website, use a feed plugin if the site runs on WordPress, your site builder’s own Instagram block on Squarespace or Wix, or a hosted widget such as Elfsight, Behold or SnapWidget on anything else where you can paste code. Instagram’s own embed code only covers one post, or a small profile preview, at a time. Almost every option needs a professional Instagram account (Creator or Business), because personal accounts stopped working with these tools in December 2024.

We make Intagrate Lite, which does something different from all of these: it imports your Instagram posts into WordPress as real posts, rather than showing a feed. So this guide is straight about when a feed is what you want and when importing is better.

Automatically Publish Instagram Media to WordPress

Intagrate is the best WordPress Instagram plugin for posting Instagram media to WordPress.

First: You need a professional Instagram account

Meta shut down the Instagram Basic Display API on 4 December 2024. That was the API that let plugins and widgets read a personal Instagram account. Its replacements only work with professional accounts, so feed plugins, site builders and widgets now ask for a Creator or Business account. Our explainer on the Basic Display API shutdown covers what changed and how to reconnect.

Switching is free and takes a minute in the Instagram app: go to your profile, open the menu, tap Account type and tools, then Switch to professional account. Your posts, followers and username stay the same.

If your Instagram feed stopped updating some time around December 2024, this is almost certainly why. Switch the account, then reconnect it in whichever plugin or widget you use.

There are two exceptions. Instagram’s own embed code works for any public account, because it doesn’t use the API. And Elfsight says its widget can show a public account, personal or not, without you logging in.

Instagram’s own embed: One post or a profile preview

Instagram doesn’t offer an official way to embed a whole feed. It has two kinds of embed code, both copied from instagram.com in a desktop browser (the app doesn’t have them).

A single post. Open the post, click the three dots, choose Embed, then Copy embed code, and paste the code into an HTML block on your page. It works for photos, videos, Reels and carousels from public accounts. Our guide to embedding an Instagram post on WordPress has the full steps, including why pasting the link on its own no longer works in WordPress.

A profile preview. Instagram added profile embeds in 2021: open the profile on instagram.com, open its menu (the three dots, or the gear icon on your own profile when you’re logged in), and choose Embed. The embed shows the profile’s name and bio and up to six of its most recent images. Instagram launched it in the US first, so if there’s no Embed option on a profile, it isn’t available for you yet.

Both are free and need no account or plugin, but they have limits:

  • You can’t change the layout, the number of posts or the styling
  • A single post embed never updates: a new Instagram post means a new embed
  • Each one loads Instagram’s own script on your page
  • Only public accounts can be embedded, and owners can turn embedding off

For one post, or a “follow us” box in a sidebar, that’s often enough. For a grid of your latest posts that keeps itself up to date, you need one of the options below.

How to embed an Instagram feed on a WordPress website

On WordPress, a feed plugin is the simplest route. These are the free ones still maintained after the API change, with figures from their wordpress.org pages on 5 October 2026:

Plugin Active installs Last updated What the free version does
Smash Balloon Social Photo Feed 1 million+ 29 Sep 2026 Feeds from several accounts, a block and widget, a visual customizer, and it makes pasted Instagram links embed again in the editor
Spotlight Social Feeds 60,000+ 24 Aug 2026 Unlimited accounts and feeds, photos, videos and Reels, a popup lightbox, and it makes pasted Instagram links embed again
WPZOOM Social Feed Widget 50,000+ 24 Sep 2026 Unlimited feeds, a block, shortcode and widget, a lightbox, and a stories ring on your profile picture
Social Slider Feed 10,000+ 30 Sep 2026 Instagram, Facebook and YouTube feeds as widgets or shortcodes

All of them connect to a Creator or Business account. WPZOOM’s and Social Slider Feed’s pages say outright that personal accounts are no longer supported, and Smash Balloon told users of personal account connections to reconnect before December 2024.

Setting one up follows the same pattern whichever you choose:

  1. In WordPress, go to Plugins, then Add New Plugin, search for the plugin’s name, then click Install Now and Activate.
  2. Open the plugin’s settings and connect your Instagram account. You’re sent to Instagram to log in and allow access.
  3. Create a feed and choose its layout, number of posts and columns.
  4. Add it to a page with the plugin’s block, or to a sidebar or footer with its widget or shortcode.

Each has a paid version. Smash Balloon’s Pro version and Spotlight’s PRO plan add hashtag feeds (posts from other accounts that use a hashtag), which Intagrate can’t do. WPZOOM’s PRO version adds moderation, where you hide individual posts, and WooCommerce product tagging.

For a longer comparison, including plugins that import rather than display, see our roundup of Instagram plugins for WordPress.

How to embed an Instagram feed on Squarespace

Squarespace has an Instagram block built in, so you don’t need anything else. Following Squarespace’s own guide:

  1. Open the Pages panel and click Edit on the page you want the feed on.
  2. Click Add block and choose Instagram.
  3. Connect your Instagram account, or pick one you’ve already connected.
  4. Set the number of posts with the slider, up to 20, and choose a layout: Slideshow, Carousel, Grid or Stacked.
  5. Save the page.

Squarespace says the block needs a professional Instagram account and updates about every 30 minutes, and that it can’t filter posts by a search term or hashtag. For more layouts or hashtags, use a hosted widget instead.

How to embed an Instagram feed on Wix

Wix makes its own Instagram Feed app. Following Wix’s help article:

  1. In the editor, click Add Apps.
  2. Search for Instagram Feed and click Add to Site.
  3. Connect your Instagram account. Wix says it must be a Creator or Business account since 4 December 2024.
  4. Choose the layout and design in the app’s settings, then publish.

How to embed an Instagram feed on any website with a hosted widget

For plain HTML sites, Shopify, Webflow and most other builders, a hosted widget is the way to go. You build the feed on the widget maker’s site, connect your Instagram account, then copy a short piece of code and paste it into your page, or into your builder’s HTML or code block. The widget fetches new posts for you.

Here’s how three of the best known compare, from their pricing pages on 5 October 2026:

  • Elfsight: a free plan with one widget, Elfsight branding and 200 views a month; go over it and the widget is switched off for a while. Paid plans start at $5 a month, billed yearly. It can show up to five accounts or hashtags per widget, and says it can show a public account without logging in, which makes it one of the few options for someone who won’t switch to a professional account.
  • Behold: a free plan with one feed of up to six posts, 1,200 views a month, daily updates and Behold branding on hover. Paid plans start at $10 a month. New connections must be Business or Creator accounts. Paid plans also give developers a JSON feed, so you can design the feed yourself.
  • SnapWidget: a free widget, and paid plans at $8, $14 and $99 a month with a 14-day trial. Hashtag widgets need the $14 plan or above.

Watch the view limits on free plans. A view is usually counted each time the page loads, so a feed on your home page can use up a small allowance quickly.

A feed or your own posts: Where Intagrate fits

Every option above shows your Instagram posts in a box on your page. The posts still live on Instagram, and the box shows the latest ones. That’s exactly right for a gallery in your sidebar or footer that looks after itself, and the feed plugins above are better at it than Intagrate: they’re built for layouts, lightboxes and quick setup.

We built Intagrate for a different job. It imports each Instagram post into WordPress as a post of its own, so:

  • Each Instagram post gets its own page on your site, with its own URL, title and text that search engines can index as your content
  • The images can be saved to your media library, so they stay on your site whatever happens to the Instagram account
  • The posts go wherever your WordPress posts go: your blog, categories, site search and RSS feed

Intagrate Lite is free. You connect your professional Instagram account under Settings, then Intagrate Lite, choose a Post Category, a Post Status and whether to Save Image to Media Library, and each new Instagram photo becomes a WordPress post. Lite checks for new posts when someone visits your blog page or the category it posts into.

You can still get something that looks like a feed: put the posts in their own category, then show that category on a page with WordPress’s Query Loop block, as a grid of your own posts rather than Instagram’s.

Intagrate Pro adds videos and Reels, any number of Instagram accounts, your whole post history, and moderation. It can also add each new Instagram image to one page instead of creating a post for each: set the account’s Post Type to Page and Multiple Media to Same Page. Our guide to creating a WordPress gallery from Instagram turns that into an ever-growing gallery page using WordPress’s own [gallery] shortcode, and the quick start guide covers the first setup. The features page has the full list.

Which option to use

You want Use
One post on a page, yours or someone else’s Instagram’s embed code
A small preview of a profile Instagram’s profile embed, if it’s offered to you
A self-updating grid on a WordPress site A feed plugin: Smash Balloon, Spotlight or WPZOOM
A feed on Squarespace or Wix The built-in Instagram block or app
A feed on plain HTML or another builder A hosted widget: Elfsight, Behold or SnapWidget
Posts from a hashtag Smash Balloon Pro, Spotlight PRO, Elfsight or SnapWidget’s paid plans
Your Instagram posts as real WordPress posts you own Intagrate Lite, or Intagrate Pro for videos and several accounts

Common questions

Can I embed an Instagram feed without a professional account?
Mostly not. Since December 2024, feed plugins, Squarespace, Wix, Behold and Intagrate all need a Creator or Business account. Instagram’s own embed code works with any public account, and Elfsight says it can show public accounts without a login.

Can I embed someone else’s Instagram feed?
Feed plugins and Intagrate need you to log in to the account, so they’re for accounts you own or manage. For someone else’s public account, use Instagram’s post or profile embed, or a widget that supports public accounts.

Why did my Instagram feed stop working?
If it stopped around December 2024, the account was almost certainly a personal one. Switch it to a professional account and reconnect it in your plugin or widget. Our Basic Display API explainer walks through it for Intagrate.

To bring your own Instagram posts across as real WordPress posts, install Intagrate Lite free from wordpress.org, or see everything Intagrate Pro adds.

Automatically Publish Instagram Media to WordPress

Intagrate is the best WordPress Instagram plugin for posting Instagram media to WordPress.

Iain avatar
Posted by
I’m Iain Poulson. I make Intagrate, run WP User Manager, the membership plugin for WordPress, and co-run FlipWP, the private marketplace for buying and selling WordPress businesses.

Follow me on Twitter

Share this article:

Let's get you started

Start publishing your Instagram media to your site today