---
name: instagram-caption
description: |
  Writes Instagram captions with a hook line, story body, hashtag strategy, and
  platform-optimized call-to-action. Use when the user wants to write an Instagram
  caption, create Instagram content, or draft text to accompany an Instagram post
  or reel. Do NOT use for LinkedIn posts (use `linkedin-post`), Twitter threads
  (use `twitter-thread`), or blog posts (use `blog-post-writing`).
license: Apache-2.0
metadata:
  author: foundry-skills
  version: "1.0.0"
  tags: "social-media writing marketing-copy"
  category: "writing"
  subcategory: "content-marketing"
  depends: ""
  disclaimer: "none"
  difficulty: "beginner"
---
# Instagram Caption Writing

## When to Use

Use this skill when:
- A user needs a caption for a static Instagram photo post and asks for help with copy, tone, or structure
- A user is posting a carousel and wants a caption that drives swipe-through behavior and saves
- A user is publishing a reel and needs short-form copy that contextualizes the video and drives comments or follows
- A user wants a hashtag strategy built into or alongside their caption -- not hashtag research in isolation
- A user mentions they have a visual asset ready (or in progress) and needs the text layer for an Instagram post
- A user is running a product launch, event announcement, or promotional post on Instagram and needs conversion-oriented copy
- A user wants to repurpose a blog post, email, or long-form story into an Instagram-native caption format

Do NOT use this skill when:
- The user wants a LinkedIn post -- use `linkedin-post` instead (different tone, structure, audience expectations, and no hashtag caps)
- The user wants a Twitter/X thread -- use `twitter-thread` instead (threading logic, character constraints, and retweet mechanics are entirely different)
- The user wants a blog post or article -- use `blog-post-writing` instead (SEO structure, heading hierarchy, and word count do not apply to Instagram)
- The user wants a full email newsletter -- use `newsletter-writing` instead (subject lines, preview text, and deliverability are not Instagram concerns)
- The user wants Facebook-native content -- Facebook's algorithm rewards link posts and longer-form content; Instagram's approach does not transfer cleanly
- The user wants Pinterest captions -- Pinterest is search-indexed and SEO-keyword-driven in a way Instagram captions are not
- The user wants a social media strategy document rather than executable copy -- use a strategy or content-planning skill instead

---

## Process

### Step 1: Gather Post Context Before Writing a Single Word

Do not write the caption until you have the following. Ask the user directly if anything is missing.

- **Visual type:** Static photo, carousel (how many slides?), reel (how long?), or story (note: story text overlays are a different format -- redirect if needed)
- **Subject matter:** What is in the post? A product, a personal moment, a tip, a transformation, an announcement, an opinion, a behind-the-scenes shot?
- **Account type and size:** Personal brand, business account, creator, or community page. Account size matters -- a 500-follower account needs discoverability hashtags; a 200K account can use niche engagement hashtags instead
- **Primary goal:** Rank the user's goal from the following list, because caption structure changes by goal:
  - Reach (shares, discovery, explore page)
  - Engagement (comments, saves, DMs)
  - Conversion (link in bio clicks, DM for more, product purchase)
  - Follower growth (new audience introduction)
- **Audience:** Who follows this account? What do they care about? What language do they use? If the user has a niche (fitness coaches, small business owners, travel photographers), use niche-specific vocabulary in the caption
- **Brand voice:** Ask for one to three example captions they like, or describe their tone in their own words. If no examples exist, default to conversational and first-person
- **Any constraints:** Word count preference, whether hashtags should be in the caption or a first comment, whether a specific CTA is required, or whether a specific product, event, or URL must be referenced

### Step 2: Calibrate Voice Before Drafting

Instagram's native register is personal, conversational, and visual-first. But "Instagram tone" is not monolithic -- calibrate before writing.

- **Personal brand / creator accounts:** First-person singular, storytelling, vulnerability is rewarded, honest specificity outperforms polished prose. Write as if texting a friend who happens to be your target audience.
- **Business accounts (products/services):** Lead with the customer's problem or desire, not the brand. Never open with the brand name. The voice should still feel human, not corporate.
- **Educational / thought leader accounts:** Can be slightly more formal but must still be scannable. Use shorter sentences. Bold claims and contrarian takes outperform conventional wisdom posts in comment generation.
- **Community accounts:** Write in "we" not "I." Invite participation rather than broadcasting. Prompt community identity ("If you are a [type of person], this is for you").
- **Luxury / premium brands:** Spare language, specificity over adjectives, no exclamation marks, sensory detail over hype. "Handstitched in Naples. Ready in four weeks." beats "Amazing quality you will love!"
- **Emoji calibration:** 0-2 emojis for premium/professional, 3-5 for creator and personal brands, 6+ only for high-energy lifestyle or entertainment accounts where the user's existing content already uses heavy emoji

### Step 3: Write the Hook Line

The hook is the most critical sentence in the caption. Instagram truncates caption text after approximately 125 characters (roughly 2 lines on mobile), showing "...more." If the hook does not earn the tap, the rest of the caption is never seen.

- **Hard character limit:** Keep the hook line under 125 characters including spaces. Count it.
- **Hook archetypes that work on Instagram:**
  - **Contrarian claim:** "Most morning routines are a form of procrastination." -- provokes reaction
  - **Specific curiosity gap:** "I spent $6,200 on a photography course. Here is what they did not teach me." -- promises a reveal
  - **Bold statement of identity:** "I quit my agency job with $800 in my account." -- earns investment in the story
  - **Counter-intuitive result:** "I posted less. My account grew faster." -- defies assumption, demands explanation
  - **Specific number or timeframe:** "Three things I changed in my studio that cut my editing time in half." -- specificity signals credibility
  - **Direct address:** "If you have been freelancing for less than two years, this is for you." -- self-selection drives saves and shares
- **Hook patterns that fail on Instagram:**
  - "Happy Monday! 🌟" -- algorithmically neutral, creates zero curiosity
  - "So excited to finally share..." -- buries the actual news behind filler
  - "A little behind the scenes!" -- vague, earns no tap
  - Starting with the brand name or product name -- reads as an ad, skipped
  - Questions as openers (weak) -- statements are stronger hooks than questions; save the question for the CTA

### Step 4: Write the Caption Body

The body delivers the promise the hook made. Structure it using micro-story logic or value-delivery logic, depending on the post type.

**Micro-story structure (for personal brand, creator, lifestyle posts):**
- Sentence 1-2: Set the scene or establish the problem with one specific detail that makes it real ("I was sitting in a client call trying to explain why their brand colors were wrong when my screen went black")
- Sentence 3-4: Develop or complicate -- this is where authenticity lives. Resist the urge to resolve too quickly.
- Sentence 5-6: Deliver the takeaway, lesson, or pivot. Make it transferable -- the reader should see themselves in it.

**Value-delivery structure (for educational, tip, tutorial, or product posts):**
- Lead sentence: state the value promise clearly ("Here is the process I use to price every freelance project")
- Body: deliver 3-5 specific, numbered or bullet-pointed items using line breaks for readability
- Close: synthesize the insight in one sentence before the CTA

**Universal body rules:**
- Target 150-300 words for static posts, 50-100 words for reels, 100-200 words for carousels
- Use double line breaks between paragraphs -- Instagram does not render markdown headers, bold, or bullet formatting, so white space is your only structural tool
- Include one specific detail that is not in the image and cannot be inferred from it -- this is what the caption adds that the visual cannot
- Avoid adjectives that describe quality without evidence: "amazing," "incredible," "game-changing." Replace them with specific outcomes or measurements.
- Write at a Grade 7-9 reading level -- Hemingway App logic applies here. Short sentences. No jargon unless the audience uses it themselves.
- Instagram captions have a hard limit of 2,200 characters. Stay under 2,000 to leave room for hashtags if placing them in the caption.

### Step 5: Write the Call-to-Action

Every caption needs exactly one CTA. Multiple CTAs split attention and reduce action on each. Choose the CTA based on the user's primary goal from Step 1.

- **Engagement goal (comments):** Ask a specific question that is easy to answer and reveals something about the commenter. "What is the one tool you could not work without?" beats "What do you think?" Always tie the question to the post content -- disconnected questions feel manipulative and earn lower-quality comments.
- **Engagement goal (saves):** State explicitly what the person gets by saving. "Save this before your next brand shoot -- you will thank yourself." People save content when they plan to return to it. Tell them exactly why they will want to.
- **Reach goal (shares):** Frame the post as a gift the reader gives to someone else. "Tag a freelancer who needs to see this." The tag must feel genuinely useful, not forced. Tag CTAs work best on relatable pain-point content.
- **Conversion goal (link in bio):** Be specific about what is at the link -- not "link in bio" but "Full breakdown with all pricing templates linked in bio." Use link-in-bio tools (Linktree, Later, Beacons) and tell the user to keep the link current.
- **Follower growth goal:** Close with a follow CTA only when the post introduces the account or its content thesis. "Follow for weekly pricing templates for freelancers." Be specific about the follow value, not just "follow for more."
- **Reel-specific CTA:** Because the reel audio and visual carry the main content, the CTA in a reel caption should be extremely direct and short. "Comment 'GUIDE' and I will send you the full template" is a high-performing reel CTA format because it triggers comment volume and DM automation.

### Step 6: Build the Hashtag Strategy

Hashtag strategy on Instagram as of post-2022 algorithm updates is less about reach amplification and more about content categorization and niche community placement. Instagram's own guidance has shifted, but a well-structured hashtag set still helps new accounts and niche content find the right audience.

- **Total count:** 15-20 hashtags is the optimal working range. 3-5 highly targeted hashtags is the current Instagram-recommended approach for established accounts, but 15-20 remains effective for growing accounts. Never exceed 30 (platform limit). Ask the user which camp they are in.
- **Hashtag size distribution:**
  - 3-5 broad awareness hashtags: 500K+ posts (e.g., #graphicdesign, #freelancelife, #workfromhome)
  - 5-8 mid-tier community hashtags: 50K-500K posts (e.g., #branddesigner, #solopreneur, #creativebusiness)
  - 5-7 niche and specific hashtags: under 50K posts (e.g., #brandidentitydesigner, #logodesignprocess, #smallbusinessbranding)
  - 1-3 account-specific or campaign hashtags: branded tags the user owns or is building (e.g., #studiomadebyname)
- **Hashtag placement:** Two valid options -- in the caption after a visual separator (three dots on separate lines), or in the first comment posted immediately after publishing. First comment placement keeps the caption visually clean and is preferred by many creators. Ask the user their preference or default to the dot-separator method.
- **Research approach:** When the user does not provide preferred hashtags, derive them from the post subject, the account niche, and the visual content. Avoid hashtags that are overrun with spam or bot activity (many lifestyle mega-hashtags like #love or #instagood have lost categorization value entirely).
- **Avoid hashtag stuffing patterns:** Do not use hashtags unrelated to the post content purely for reach. Instagram's content classification algorithm now penalizes hashtag mismatches. Every hashtag should accurately describe the post.
- **All hashtags lowercase, no spaces, no punctuation inside the hashtag.**

### Step 7: Final Review -- Four-Point Instagram Fit Check

Before delivering the caption, run it through these four checks:

1. **Hook earns the tap:** Read the first line cold. If you would not tap "...more," rewrite it.
2. **Caption adds what the image cannot:** If the caption only describes what the viewer can already see, it fails. The caption must reveal context, backstory, emotion, or information the image cannot communicate.
3. **CTA is singular and actionable:** One ask only. The action should be completable in under 10 seconds.
4. **Hashtags are topically accurate:** Every hashtag must describe the post. Remove any that feel generic or disconnected.

---

## Output Format

Deliver captions in this exact structure. Do not add markdown headers or bold labels in the actual caption output -- Instagram renders plain text only.

```
[Hook line -- under 125 characters. Bold claim, curiosity gap, or specific story opener.]

[Body paragraph 1 -- 2-3 sentences. Scene setting, problem statement, or value promise opening.]

[Body paragraph 2 -- 2-3 sentences. Development, specific detail, honest complication, or value delivery.]

[Body paragraph 3 (optional) -- 1-2 sentences. Resolution, insight synthesis, or closing observation.]

[CTA -- one clear, specific ask. Question, save prompt, tag CTA, or link direction.]

.
.
.

#[broad1] #[broad2] #[broad3] #[broad4] #[broad5]
#[mid1] #[mid2] #[mid3] #[mid4] #[mid5] #[mid6]
#[niche1] #[niche2] #[niche3] #[niche4] #[niche5]
```

**Caption metadata block (deliver alongside the caption, not as part of the post):**

| Field | Value |
|---|---|
| Character count (excl. hashtags) | [number] |
| Word count | [number] |
| Hook length (characters) | [number] |
| Post type | [static / carousel / reel] |
| Primary goal | [reach / engagement / conversion / growth] |
| CTA type | [comment / save / tag / link in bio / DM] |
| Hashtag count | [number] |
| Hashtag placement | [caption / first comment] |
| Recommended posting time | [based on account niche] |

---

## Rules

1. **Never describe the image in the caption.** The visual is already there -- the caption must add information, context, emotion, or story that the image cannot communicate. "Here is a photo of me at my desk" tells the viewer what they can already see.

2. **The hook line must be under 125 characters, no exceptions.** Instagram's mobile truncation point is approximately 125 characters before the "...more" cut. A hook that gets cut mid-sentence loses its power entirely. Count the characters before finalizing.

3. **Never open with any of these phrases:** "Happy [day]," "So excited to share," "Just wanted to pop in," "A little [something]," "Proud to announce." These are wasted hook lines that generate no curiosity and signal low-effort content to both the algorithm and the reader.

4. **One CTA per caption, always.** Competing asks ("Comment below AND save this AND tag a friend AND check the link in bio") create decision paralysis and reduce overall action. Rank the user's goal and write toward exactly one outcome.

5. **Never exceed 30 hashtags.** Instagram will not publish captions with more than 30 hashtags, and posts approaching that number are frequently flagged as spam by the algorithm, suppressing distribution rather than expanding it.

6. **Hashtags must be topically accurate to the post.** Using #food on a business strategy post to chase reach is a classification mismatch that Instagram's content graph now penalizes. Every hashtag must describe something true about the post content.

7. **Reel captions must be shorter than static post captions.** For reels, the video carries 90% of the content. The caption should not exceed 100 words and should function as context, CTA, and hashtags only. A long caption on a reel suggests the creator does not trust the video -- and the viewer will not either.

8. **Never put hashtags inside the caption body.** Inline hashtags (#like this) inside a caption paragraph look like spam, break reading flow, and suggest low content quality. Always separate hashtags from caption body with a visual break (three dots on separate lines, or post them in the first comment).

9. **Match caption length to post type and goal.** Reach-oriented posts benefit from shorter captions that are easily shareable -- under 150 words. Save-oriented posts benefit from longer, value-dense captions -- 200-400 words -- because people save content they intend to return to and reference. Conversion-oriented posts should be concise and direct.

10. **Specificity beats inspiration.** Vague captions about "chasing your dreams" or "showing up every day" generate no comments because they give the reader nothing to respond to. Every caption should contain at least one specific detail -- a number, a named experience, a concrete action -- that makes it feel real and not interchangeable with a thousand other posts.

11. **Carousel captions must tease, not summarize.** For a 7-slide carousel about productivity tools, the caption should not list all 7 tools. It should create enough tension or curiosity that swiping is the only way to get the payoff. "Slide 4 changed how I structure every workday" is more effective than "Here are all 7 tools."

12. **Never use more than 5 emojis in the caption body** unless the user's account and existing content explicitly uses heavy emoji as part of its established voice. Emoji density signals brand register and should match the account's existing tone, not the writer's personal preference.

---

## Edge Cases

### The User Has No Image Yet
The user wants the caption written before the photo is taken or the reel is edited. Write the caption fully and append a visual brief at the bottom: "Suggested visual: [specific description of what would pair with this caption, including composition, lighting mood, and what should or should not be visible in the frame]." The caption should be self-contained but the visual brief helps the user shoot or select a matching image. Note that writing caption-first can actually produce stronger content -- the caption drives intentional visuals rather than forcing copy to fit an existing image.

### The User Wants a Carousel Caption
Carousels are the highest-save format on Instagram because they deliver chunked, multi-screen value. Caption strategy changes significantly:
- The caption should tease one specific slide or insight to make swiping feel like a reward
- Use "Swipe to [specific outcome]" not "Swipe for more" -- specificity drives action
- Do not summarize the carousel in the caption -- the caption creates anticipation, the slides deliver the content
- The last slide of the carousel should mirror the caption's CTA for users who swipe all the way through
- Carousel captions can be slightly longer (200-300 words) because save-intent is higher and users are already committed to the content

### The User Is a Business Running a Product Promotion
The greatest mistake in product promotional captions is leading with the product. Lead with the problem it solves or the life it enables instead:
- Wrong: "Introducing our new productivity planner. Available now at the link in bio."
- Right: "I used to start every Monday by losing an hour deciding what to work on. This is what fixed that."
- Follow the structure: problem (1-2 sentences) -- solution framing without product name (1-2 sentences) -- product reveal (1 sentence) -- social proof or specificity (1 sentence) -- CTA
- For products with a price point, never hide the price if the CTA is a purchase. "Starting at $47 -- link in bio" outperforms mysterious CTAs because it pre-qualifies clicks and reduces bounce rate.

### The User Wants a Personal Story or Vulnerable Post
Authentic personal posts are among Instagram's highest-performing content types when written well and among the most cringeworthy when written poorly. The difference is specificity:
- Good: "I sent a proposal at 11pm that I knew was underpriced. I clicked send anyway because I was scared."
- Bad: "There were times I doubted myself. I had to learn to believe in my own value."
- One specific moment beats a general reflection every time
- Avoid the word "journey" -- it is the most overused and least meaningful word in Instagram caption writing
- Keep vulnerable posts under 250 words. More than that tips from authentic into performative.
- End with a takeaway that transfers to the reader -- the story is the delivery vehicle, the insight is the value

### The User Wants the Caption to Drive DMs
DM-driving captions are a specific conversion tactic used by creators and coaches to initiate sales conversations. The structure is different:
- The caption body must diagnose a specific, painful problem the reader has right now
- The CTA is "DM me [specific word]" or "Comment [word] and I'll send you [specific thing]" -- the keyword triggers a DM automation workflow
- Keep the caption focused and short -- 100-150 words max. The DM is the destination, the caption is just the bridge.
- Do not reveal the full answer in the caption -- leave a specific, believable gap: "I have a 3-step framework I use with every client for this. Comment 'PRICE' and I'll send it."
- This format generates high comment volume and DM volume simultaneously, which strong-signals the algorithm

### The User Has an Existing Caption That Needs Editing
When editing rather than drafting from scratch:
- Read the existing caption and identify which of the four failure modes it suffers from: weak hook, image description instead of context, missing CTA, or generic hashtags
- Rewrite the hook first -- this single change produces the largest improvement
- Do not rewrite the voice entirely -- edit to strengthen, not replace. The user's authentic voice has value even if it is rough.
- Check the character count on the hook line even if the body seems fine

### The Account Is Under 1,000 Followers
Small accounts need discoverability more than large accounts. Adjust the hashtag strategy:
- Increase niche hashtag count to 8-10 (under 50K posts) because the account can rank in these smaller pools
- Reduce broad hashtag count to 2-3 -- the account cannot compete in pools of 5M+ posts
- Consider adding location hashtags (city or region-specific) if the business or creator is geographically relevant
- The CTA should prioritize follows and saves over link clicks -- conversion-oriented CTAs underperform for small accounts because trust has not been established yet

### The User Wants a Caption in a Language Other Than English
Instagram captions can be written in any language, but the hook logic, CTA mechanics, and hashtag strategy remain constant. Notes:
- Hashtag language should match the target audience's language -- if the post is in Spanish for a Spanish-speaking audience, the hashtags should be Spanish or bilingual
- Some markets (Brazil, India) respond strongly to bilingual captions -- check if the user's audience is multilingual
- Emoji usage norms vary by region -- some cultures use emoji far more heavily than others; ask the user if they have audience insights data

---

## Example

**Input:**
"I'm a ceramics artist selling handmade mugs and bowls on Instagram. I just photographed a new collection drop -- it's earth-toned, minimal, and there are only 12 pieces available. I want a caption that drives both saves (people who want to buy later) and comments, but the main goal is selling out the collection fast. Account has about 4,200 followers. The vibe is slow living, intentional making, craft over mass production."

**Output (caption):**

---

I made 12 of these. When they are gone, they are gone.

Not because scarcity is a marketing trick -- because I fired this glaze three times before it stopped cracking, and I am not doing a fourth. These took six weeks from clay to finished piece, and every one is slightly different because that is what happens when a human makes something instead of a machine.

The collection is earth-toned. Matte. Heavy in your hands in the way that good things are. There is a mug in there I almost kept for myself.

Shop link is in my bio -- I will not restock these colorways. If you need a minute to decide, save this post and come back. But fair warning: the last drop sold out in 11 hours.

What do you reach for first thing in the morning? I am always curious what starts someone's day.

.
.
.

#ceramics #handmadeceramics #ceramicsart #potterylove #stoneware
#handmademug #slowliving #ceramiccollection #artisanmade #craftoverquantity
#smallbatchceramics #ceramicmug #handmadehome #intentionalliving #potterystudio
#ceramicsofinstagram #makersgonnamake #shopsmall

---

**Caption metadata block:**

| Field | Value |
|---|---|
| Character count (excl. hashtags) | 718 |
| Word count | 164 |
| Hook length (characters) | 44 |
| Post type | Static photo (collection drop) |
| Primary goal | Conversion (link in bio purchase) |
| CTA type | Save (for later buyers) + Question (for comment volume) |
| Hashtag count | 18 |
| Hashtag placement | Caption with dot separator |
| Recommended posting time | Tuesday or Wednesday, 10am-12pm local time (peak ceramics/craft audience window) |

---

**Why this caption works -- annotated:**

- **Hook ("I made 12 of these. When they are gone, they are gone."):** 44 characters. States scarcity without hype. Second sentence earns the "...more" tap by implying there is a reason for the scarcity.
- **Hook follow-up (first body paragraph):** Immediately addresses the cynical reader who suspects the scarcity is manufactured. The specific detail ("fired this glaze three times before it stopped cracking") is not in the image -- the image shows finished mugs, not the process. This is exactly what a caption should add.
- **Body paragraph 2:** Sensory language ("heavy in your hands in the way that good things are") communicates brand value without claiming to be "high quality." The line "a mug I almost kept for myself" is a credibility signal -- it tells the buyer that the maker values the work.
- **CTA structure:** Two CTAs but not competing -- "shop now" (for buyers ready to act) and "save this" (for buyers who need time). Both point toward the same outcome: purchase. The "11 hours" detail adds social proof without being fabricated.
- **Comment CTA:** The question at the end is separate and easy to answer. It invites community without deflecting from the purchase path. Morning ritual questions perform strongly in the slow living / ceramics niche.
- **Hashtag structure:** 5 broad (#ceramics, #handmadeceramics, #ceramicsart, #potterylove, #stoneware), 8 mid-tier community tags, 5 niche (#smallbatchceramics, #ceramicmug, #handmadehome, #intentionalliving, #potterystudio). 18 total -- appropriate for a 4,200-follower account that needs discoverability in the craft and slow living communities.
