Instagram Caption Formatter
Format Instagram captions with line breaks that actually work. Uses invisible characters to preserve spacing. Includes character count and hashtag counter.
Instagram Tips
- β’ Maximum 2,200 characters per caption
- β’ Use up to 30 hashtags for maximum reach
- β’ Add line breaks for better readability
- β’ Tag people with @ for notifications
- β’ Place hashtags at end or in first comment
Why Instagram Eats Your Line Breaks
Instagram's caption editor strips out plain line breaks the moment you publish. Type something across five lines in your drafts, hit post, and it collapses into one wall of text. The fix is to insert a zero-width joiner character (Unicode U+200D) at the end of each line. Instagram sees a non-empty line and preserves your spacing. The tool inserts these for you automatically when 'Preserve Line Breaks' is ticked.
Captions can run up to 2,200 characters and accept up to 30 hashtags before any of them stop working. The four counters under the input track characters, hashtags, mentions and line breaks live as you type, so you know whether you are about to hit the cap. Mentions parse as @ followed by word characters, hashtags as # followed by word characters, the same rules Instagram uses internally.
How a Social Manager Uses It
Picture a social media manager scheduling a Reels caption for a coffee brand. They draft three short paragraphs in the textarea, drop a row of three branded hashtags below, and tag two collaborators. The hashtag counter shows 3 of 30 used, so there is room for more discoverability tags. They paste the formatted output straight into Later, Buffer or Instagram itself, and the spacing survives the round trip.
Common pitfall: pasting captions from Word or Google Docs brings invisible smart quotes and non-breaking spaces along for the ride. The tool preserves whatever you give it, so retype any text that originally came from a rich-text editor, or run it through the [Whitespace Cleaner](/whitespace-cleaner) first. For longer-form storytelling captions, place hashtags in a single block at the end or in the first comment so they do not break the reading flow.
Frequently Asked Questions
What is a zero-width joiner and is it safe to use?
A zero-width joiner is a real Unicode character (U+200D) that takes up no visible space. It was originally designed for connecting characters in scripts like Devanagari and Arabic. Instagram, TikTok, LinkedIn and most other platforms render it as nothing visible, but treat the line containing it as non-empty, which is why your line breaks survive. It is harmless and will not flag your post as spam.
Why do my hashtags disappear after 30?
Instagram stops indexing hashtags once you exceed 30 in a single caption. The post is still published, but the extra tags are ignored for discovery, and historically posts with hashtag stuffing have been quietly downranked. The hashtag counter turns informational once you cross 30 - aim for 5 to 15 tightly relevant tags rather than maxing out.
Will the formatted caption work on TikTok and LinkedIn?
Yes. Both platforms also strip plain line breaks but respect zero-width joiners. The same formatted output drops cleanly into a TikTok caption or a LinkedIn status update. Twitter/X handles line breaks natively so the trick is unnecessary there, but it does no harm.
Can I save drafts in the tool?
Not in this tool itself; it is a one-shot formatter rather than a content scheduler. For drafts, paste your caption into a notes app or use a scheduling tool like Later or Buffer. The formatter is meant for the final polishing step before you publish.
Related Tools
Fancy Text Generator
Transform your text into 15+ Unicode styles including Bold, Italic, Script, Gothic, Small Caps, Circled, Bubble and more. Copy and paste anywhere.
Character Counter
Count characters, words, sentences, paragraphs and more in real time. Shows reading level, character frequency and average word length
Word Counter
Count words, characters, sentences and paragraphs in your text. Includes reading time, speaking time and word frequency analysis.