Hashtag and Caption Formatter
Keep the line breaks and blank lines of your Instagram caption, clean and deduplicate hashtags, and check the 2,200 character and 30 hashtag limits.
- Characters
- 0
- Hashtags
- 0
- Hashtags in comment
- 0
- Duplicates removed
- 0
Before “… more” (about 125 characters)
Checks
Within Instagram's limits.
How to format an Instagram caption
- Write or paste your text in Caption. Leave blank lines between paragraphs exactly where you want them.
- Optionally list more tags in Hashtags to add (optional), separated by spaces, commas or new lines. The
#is optional:travel, #sunsetgives#travel #sunset. - Under Blank lines, choose Invisible character (U+2800), Dot line (.) or Leave empty.
- Under Hashtag lines, choose Keep where they are, Move to the end or Move to a first comment.
- Leave Remove duplicate hashtags ticked to drop repeated tags.
- Click Copy caption (and Copy comment if you moved the hashtags to a comment), then paste into Instagram.
The result updates as you type. Load an example shows a messy caption being cleaned up. Everything happens in your browser; nothing is sent anywhere.
Why Instagram loses your line breaks
Instagram keeps single line breaks, but it has a long history of swallowing blank lines: several empty lines in a row can collapse into one, and lines that end with a space can make the break disappear entirely. The behaviour has varied between the app, the website and scheduling tools, so a caption that looked airy in your notes can arrive as one dense block.
The usual workaround is to make the “empty” line not empty. This tool does two things:
- It removes trailing spaces at the end of every line, a frequent cause of lost breaks.
- It puts a spacer on every blank line. Invisible character (U+2800) uses the Braille pattern blank, a character that renders as empty space but is not treated as whitespace, so Instagram has no reason to strip it. Dot line (.) uses a single full stop, the old-school method that works everywhere and is easy to see if you edit the caption later.
Screen readers generally skip U+2800 or announce it briefly; if accessibility matters a lot to your audience, the dot line is the more predictable choice. Running the tool on a caption it already formatted gives the same result, so you can safely edit and reformat.
Hashtag cleanup
A hashtag is a # followed by letters, digits or underscores. The tool finds every line made only of hashtags (commas, dots and spaces between them are fine) and treats it as a hashtag block. Tags from Hashtags to add (optional) are cleaned: punctuation such as hyphens or apostrophes is removed, because it would cut the hashtag short on Instagram (#Pie-Day would only link #Pie).
Duplicates are compared without regard to case, since #Coffee and #coffee lead to the same page; the first spelling is kept. Tags you already used inside a sentence are not repeated in the block. Hashtags written inside a sentence are never moved, so your text keeps its meaning.
Limits checked
- 2,200 characters per caption. Characters are counted as you see them, so an emoji or an accented letter counts once; Instagram’s own count can differ slightly for some complex emoji.
- 30 hashtags per caption, and 30 in a comment. Beyond that, Instagram may refuse to publish or silently drop the caption.
- Hashtags made only of digits, such as
#2026, are flagged because they do not become clickable tags. - The preview shows roughly the first 125 characters, which is about what appears in the feed before “… more”. Put your hook there.
Frequently asked questions
Is the U+2800 character really invisible?
It displays as an empty space in almost every font, including Instagram’s. It is still a real character, so it counts toward the 2,200 limit (one per blank line) and could show as a small box on very old devices without Braille support.
Should hashtags go in the caption or in the first comment?
Both work for discovery. Moving them to a first comment keeps the caption cleaner. Paste the comment right after posting. The caption and the comment each have their own 30-hashtag limit.
Why was one of my hashtags removed?
It was a duplicate, possibly with different capital letters, or it already appeared inside your text. Untick Remove duplicate hashtags to keep every tag as typed.
Does this work for other networks?
Yes. Threads, Facebook, LinkedIn and TikTok also accept the formatted text. The limits shown, however, are Instagram’s.
Will the formatting survive scheduling tools?
Usually, because the spacer is ordinary text. If a tool still trims blank lines, choose Dot line (.), which no tool removes.
Related tools
- Social Post Length Checker Check your post against the character limits of X, Bluesky, Threads, LinkedIn, Instagram, TikTok, YouTube and Google snippets, all at once, as you type.
- Character Counter Free online character counter with live limits for X posts, SMS, meta titles, meta descriptions and Instagram captions. Emoji count as one.
- Invisible Character Remover Find and remove invisible characters online. Detect zero-width spaces, non-breaking spaces, soft hyphens and bidi controls (Trojan Source) in any text.