Instagram feed for tattoo studios and artists: portfolios that update themselves
In tattooing, Instagram is where clients choose an artist. They scroll through healed pieces, check line work up close and look for someone who does exactly their style. Your studio website usually comes second, which is a missed chance: the site is where they read your booking rules, aftercare advice and deposit policy. An Instagram feed on each artist’s page brings the portfolio to the place where people book. This guide covers how to set that up for a studio with several artists, how to separate healed work, fresh work and flash, and the settings that suit tattoo photos and dark websites.
Updated October 12, 2026

What makes a tattoo studio different
A lot of advice about Instagram feeds assumes one business, one account. Tattoo studios rarely work like that. Three things change the set-up:
- Artists usually have their own accounts. Many clients follow the artist, not the shop. The studio account may repost, but the real portfolio lives on each artist’s profile.
- Clients compare styles, not just quality. Someone looking for neo-traditional color does not want to scroll past dotwork mandalas to find it. Filtering matters more than in most industries.
- Work changes over time. A fresh tattoo and the same tattoo healed are two different pieces of evidence, and experienced clients look for healed shots.
Social Feed by grip space handles this with two tools: you can connect several Instagram accounts to one Social Feed account, each with its own widgets, and every widget can filter posts by words in the caption, by date and by post type.
Two ways to organize a multi-artist studio
Pick one model before you build anything. Both work; they differ in where the portfolio posts live.
| Model 1: one studio account | Model 2: each artist’s own account | |
|---|---|---|
| Where posts come from | The studio’s Instagram, with artist tags in captions | Each artist’s Instagram, connected separately |
| How artist pages are separated | Caption keyword filter per widget, such as #byrae | Each artist page shows that artist’s connected account |
| Who must sign in to Instagram | Whoever manages the studio account, once | Each artist, once, on Instagram’s sign-in page |
| What visitors see in the header and Follow button | The studio account | The artist’s own account, so follows go to the artist |
| Works best when | The studio posts all work and artists are employees | Artists build their own following, including booth renters and guests |
| Risk | Untagged posts never appear on artist pages | An artist who leaves takes their account with them |
Many studios mix the two: the homepage shows the studio account, and each resident artist’s page shows their own account.
Model 1: tag captions on the studio account
The caption keyword filter shows a post if its caption contains any of the words you list, or, in the opposite mode, hides it. Matching ignores upper and lower case, and it finds the word anywhere in the caption, even inside a longer word. Tags with a prefix are therefore safer than plain names: “#byrae” will not turn up by accident, while “rae” would also match “Raelynn” or “portrayed”.
| Tag | Example | Purpose |
|---|---|---|
| Artist | #byrae, #bymarco | Builds each artist’s page |
| State | #healed, #fresh | Separates healed results from fresh work |
| Style | #finelinebyrae, #blackworkstudio | Style pages, if you have them; keep spellings fixed |
| Flash | #flashavailable | Designs that can still be booked |
| Exclude | #notforweb | Merch, hiring posts, closure notices, anything that should stay off the site |
You do not need to repost older work. Instagram lets you edit the caption of an existing post, so you can add tags to the best pieces in each artist’s history. Start with the ten or so pieces each artist would show a new client first.
The filter has one mode per widget: “Only matching posts” or “Exclude matching posts”. A widget that shows only “#byrae” cannot also exclude “#notforweb”, so simply leave the artist tag off posts that should not appear on that artist’s page. More detail in filtering an Instagram feed by keyword.
Model 2: connect each artist’s own account
When artists post their own work on their own profiles, connect those accounts instead of retagging everything on the studio account. In the studio’s Social Feed dashboard, click + Connect Instagram account, and let the artist sign in on Instagram’s page. Social Feed asks Instagram to show the sign-in step every time, so the artist signs in with their account rather than whatever account the browser was last using. Nobody needs to share a password.
- Check that the artist’s account is a professional account. Switching is free and done in the Instagram app; a private personal account becomes public when switched. See why you need a professional account.
- Schedule five minutes with the artist at the studio computer. Click + Connect Instagram account and hand them the keyboard.
- Check that the artist’s username now appears in the dashboard. Connecting creates a first widget for that account.
- If the artist signed in on the studio computer, sign out of Instagram in that browser afterwards.
- Set up the widget (see the settings below), copy the embed code and paste it on the artist’s page.
The artist’s own profile picture, username and Follow button then appear above their feed, so visitors who like their work follow the artist directly. For artists who build their own client base, that is usually what they want.
An artist who would rather keep control can also set up their own free Social Feed account, connect there and give you the embed code. The feed then sits in their dashboard, not yours.
Healed vs fresh: give clients what they look for
Fresh tattoos photograph well: saturated, sharp and shiny. Healed work is what the client will actually live with, and many clients specifically look for it. If your artists post both, a simple “#healed” tag lets you build a healed-only section.
- In Model 1: a widget in “Only matching posts” mode shows a post if it contains any one of the keywords, so “#byrae, #healed” would show all of Rae’s work plus everyone’s healed work. Use a combined tag such as “#healedbyrae” for healed pieces instead, and put that healed feed first on the artist’s page.
- In Model 2: the artist adds “#healed” to healed posts, and the widget on their page shows only matching posts.
- Fresh-and-healed pairs: many artists post a carousel with the fresh photo first and the healed photo after. Set Carousel posts to “All images in the lightbox” so visitors can step through the whole sequence.
How carousels behave in the grid and lightbox is explained in how Instagram carousel posts appear on your website.
Flash and available designs
Flash sheets and “available designs” posts are time-sensitive: once a design is claimed, it should disappear from the website. Two settings help:
- Caption keyword: a widget that shows only posts with “#flashavailable”.
- Date range: “Last 30 days” or “Last 90 days” so old flash drops off automatically, even if nobody edits the caption.
When a design is claimed, edit the caption to remove the tag. The website follows at the next update: on paid plans changes appear without waiting for the daily update, while on the Free plan the feed on your site updates once a day. Put the flash feed on a “Flash” or “Book now” page with your booking rules and deposit policy right above it, so the next step is obvious.
More about date filters in showing only recent Instagram posts.
Guest spots and conventions
Guest artist announcements and convention dates go stale quickly. Rather than a separate page that someone forgets to update, add a small slider to the homepage or the contact page that shows posts tagged “#guestspot” from the last 30 days. When nothing is current, that feed is empty. To avoid an empty section, switch that widget to Unpublished between guest spots; an unpublished widget shows nothing, and you can switch it back on in the dashboard without touching the website. See <a href={`${BASE}/blog/hide-instagram-feed-temporarily/`}>hiding a feed temporarily</a>.
Which pages need which feed
| Page | Feed | Filter | Layout |
|---|---|---|---|
| Homepage | Studio account, best recent work | Exclude “#notforweb”, or only a portfolio tag | Grid, 3–4 columns, 9–12 posts |
| Each artist page | Artist’s own account or studio account with artist tag | Healed tag, or artist tag | Grid, 3 columns, 9–12 posts |
| Flash / Book now | Studio or artist account | “#flashavailable”, last 30 or 90 days | Grid, 3 columns |
| Consultation form page | Studio account | Portfolio tag, last 90 days | Slider, short, below the form |
| Aftercare page | Usually none | — | Keep this page focused on instructions |
Put the consultation or booking link before the feed on artist pages, not after twelve rows of photos. A visitor who already loves the work should not have to scroll to act on it. Here is a simple artist page structure, with your own embed code in the last line:
<h1>Rae Okafor</h1>
<p>Fine-line botanicals, blackwork and small script. Books open monthly.</p>
<a href="/consultation/?artist=rae">Request a consultation with Rae</a>
<h2>Healed work</h2>
<script type="text/javascript" src="https://n246.grip.space/api/v1/instagram/widget/xxxxxxxx"></script>General placement advice is in where to put an Instagram feed on your website.
Settings that suit tattoo work
- Columns: 3 columns keep line work visible. Tiles in the grid are square and cropped to fill, and the widget reduces the number of columns automatically in narrow spaces so tiles do not get tiny.
- On click: Open lightbox. The lightbox shows the whole image, not the square crop, which matters for long pieces such as forearm and leg work. It also has a link to the post on Instagram.
- Show in lightbox: show the caption, where artists usually note style, placement and session count. The like count is optional; turn it off if you do not want visitors comparing artists by likes.
- Text color: many tattoo sites use dark backgrounds. Choose “Light (for dark backgrounds)” so the username, post count and credit stay readable.
- Follow button: change the label to something like “Follow Rae” and the color to your brand. On the homepage, “Follow the studio” works.
- Image spacing: 2–4 pixels looks like an Instagram profile; 10 or more feels more like a gallery wall.
- Number of posts: 9 or 12 fills full rows at 3 columns. The Free plan shows up to 16 posts per widget, Light up to 30 and Standard up to 50.
For layout choices, see grid or slider and making the widget match your website. For how vertical photos crop into square tiles, see Instagram image sizes and aspect ratios.
Process videos and Reels
Process Reels (stencil, lining, shading, the reveal) are popular, and they can appear in the feed. Videos show a play mark on their tile and play in the lightbox, muted at first, with controls. If you want a portfolio of finished pieces only, set Reels to “Exclude Reels”; for a process page, use “Reels only”.
Some Instagram videos cannot be played outside Instagram, for example when Instagram does not provide the video file for a Reel with licensed music. Those show as a still image with a link to Instagram. See Instagram videos not playing in your website feed and showing only Reels on your website.
Client photos, placement and your audience
Tattoo photos show clients’ skin, sometimes in personal placements. The feed on your website shows exactly what is on the connected Instagram account, so the consent you ask for when posting is the consent that matters for the website as well. Make sure clients know their photos may appear on your social media and website, and have a simple way to remove a post on request: when you delete a post on Instagram, it drops out of the feed at the next update.
Your website may be seen by a different audience than your Instagram, for example people reading your aftercare page with a parent. If some work is fine for Instagram but not for the homepage, tag it “#notforweb” and use “Exclude matching posts” on homepage widgets, or keep the homepage to a curated portfolio tag.
Accessibility: let the work be described
Each image in the feed has a text description for screen readers. The widget uses the alt text written on Instagram if there is one, otherwise the beginning of the caption, otherwise “Instagram post by @username”. A caption that starts with “Healed fine-line peony on the forearm by Rae” is a far better description than one that starts with a string of hashtags. Instagram also lets you add alt text under Accessibility when posting or editing a post; see how to add alt text to Instagram posts.
Visitors can also use the feed with a keyboard: tiles can be reached with Tab and opened with Enter or Space, and Escape closes the lightbox. Still, write each artist’s styles, availability and booking process as normal page text. That helps everyone, including search engines.
Plans for studios
Widgets are counted across all Instagram accounts connected to your Social Feed account, and monthly views are counted across all widgets.
| Plan | Widgets | Posts per widget | Views per month | Fits |
|---|---|---|---|---|
| Free | 1 | Up to 16 | 3,000 | A solo artist with one feed |
| Light ($8/month or $80/year) | 3 | Up to 30 | 30,000 | A small studio: homepage plus two artists, or one artist with healed, flash and process feeds |
| Standard ($24/month or $240/year) | Unlimited | Up to 50 | Unlimited | Studios with several artists, guest spots and flash pages |
On the Free plan the feed on your site updates once a day and always shows a “Powered by Social Feed” credit; on paid plans new posts appear without that wait and the credit is optional. Prices are in the pricing section, and the Free plan is explained in what the free Instagram feed widget includes.
When an artist leaves or joins
- An artist leaves (Model 2): remove their page, then in the dashboard use “Disconnect this account” for their Instagram. That deletes the account’s widgets and embed codes too, which is what you want here. If you only want to pause their feed, switch the widget to Unpublished instead.
- An artist leaves (Model 1): switch their widget to Unpublished or delete it with “Delete widget”. Their older posts stay on the studio account; edit captions or add “#notforweb” if they should no longer appear in general feeds.
- A new artist joins: connect their account or agree on their tag on day one, then use Duplicate on an existing artist widget so every artist page looks the same. Change only the widget name and the filter.
- An artist changes their password: their feed may stop updating. Sign in to Social Feed and click “Reconnect Instagram account”, and let the artist sign in again. The widget and embed code keep working. See changed your Instagram password?
Setting it up, step by step
- Decide on Model 1, Model 2 or a mix, and agree on the tags you will use.
- Make sure every account you will connect is a professional account.
- Create a Social Feed account with the studio’s email address and connect the first account.
- In Settings & preview, set the layout, columns, click action, text color and filters. Give the widget a clear name, such as “Rae – healed”.
- Copy the embed code and paste it on the page. Guides: WordPress, Wix, Squarespace, Shopify, Webflow and HTML.
- Duplicate the widget for the next artist or feed, change the filter or connect the next account, and repeat.
- Check every page on a phone, including the consultation link position.
Common mistakes on tattoo studio websites
- One giant feed of everything. Fifty mixed posts from five artists in five styles make visitors work hard. Smaller feeds per artist or style are easier to judge.
- A short artist tag that matches other words. “#ink” also matches “#inked”, “#inkstagram” and “pink”. Use distinctive tags with a prefix and check the preview after every change.
- Untagged work in Model 1. In “Only matching posts” mode, a post without the tag never appears. If an artist’s page looks thin, their best pieces are probably on Instagram without the tag.
- Old flash still on the page. Combine the flash tag with a date range so claimed designs drop off even when nobody edits the caption.
- Light text settings on a light page, or the reverse. If the username above the feed is hard to read, switch the Text color setting.
- Disconnecting to fix an expired connection. That deletes the account’s widgets and embed codes. Use Reconnect Instagram account instead.
- Feeds above the booking information. Visitors who are ready to book should find the consultation link without scrolling past the whole portfolio.
Page speed on image-heavy artist pages
Tattoo sites are image-heavy already, and several feeds can add a lot of photos. The widget loads its images directly from Instagram and, in a grid, loads only the first row right away; the rest load as the visitor scrolls. A slider loads all of its images at once so swiping never shows blanks, so keep sliders short. If you place feeds on many pages, check a few of them with PageSpeed Insights before and after. See lazy loading an Instagram feed and will an Instagram feed slow down your website?
Frequently asked questions
Can one feed show all our artists’ accounts together?
No. Each widget shows one account. Use the studio account with artist tags for a combined feed, or place several artist widgets on one page.
Can I show posts where clients tagged our studio?
No. Tagged posts and hashtag feeds are not shown. Repost client photos to your own account, with permission.
Can visitors filter by style on the page?
Not inside one widget. Make one widget per style and put each on its own page or section.
Does the feed show our Highlights with FAQs and prices?
No. Stories and Highlights are not available to website feeds. Keep that information as text on the site. See can you embed Stories or Highlights?
Our feed stopped showing. Where do I start?
See Instagram feed not showing on your website for the usual causes and fixes.
Sources
- Instagram Help Center, “Add, edit or delete the caption of an existing post”: https://www.facebook.com/help/instagram/1490745927855762
- Instagram Help Center, “Edit the alternative text for a post on Instagram”: https://www.facebook.com/help/instagram/503708446705527
- Instagram Help Center, “Set up a professional account on Instagram”: https://www.facebook.com/help/instagram/502981923235522
- Google, PageSpeed Insights: https://pagespeed.web.dev/
- Meta for Developers, “Overview of the Instagram API”: https://developers.facebook.com/docs/instagram-platform/overview/
Get your embed code in a few minutes. The Free plan needs no credit card.
Sign up freeMore articles

Instagram feed on your website: a 15-point launch checklist
A 15-point checklist for launching an Instagram feed on your website: account, plan, filters, layout, placement, mobile, speed, accessibility and privacy.
Read the article →
Instagram feed not showing in your page builder editor? Why, and how to check
Your Instagram feed works on the live site but not in the editor, or the other way around. Why page builders treat scripts differently, and how to check.
Read the article →
Instagram feed too small or squashed on mobile? How to fix the size
Why an Instagram feed can look tiny, squashed, too wide or cut off on phones, and how to fix it with the right width, columns and container CSS.
Read the article →
Instagram videos not playing in your website feed? Causes and fixes
Instagram videos or Reels won’t play in your website feed? Find the cause from what you see: missing files, autoplay rules, the video setting or a CSP.
Read the article →
Old posts showing in your Instagram feed? Order, pinned posts and filters
Why old Instagram posts appear in your website feed: post order, pinned posts, filters that reach back, Free plan timing, and how to keep the feed current.
Read the article →
Broken images in your Instagram feed: causes and fixes
Gray squares or broken-image icons in your Instagram feed? How to find the cause in a minute, from deleted posts and CSP rules to blockers and theme CSS.
Read the article →