Captions run to 2,200 characters but only about the first 125 appear in the feed before Instagram collapses the rest behind “… more”, so the opening line does nearly all the work. Bios are capped at 150 characters and silently delete blank lines unless you use a printing character that survives trimming. Hashtags stop counting after 30, and a set of 30 broad ones performs worse than a smaller, better-matched mix.
Every text field on Instagram has a limit, and every one of them behaves in a way that is not written down anywhere in the app. Captions get truncated at a point nobody tells you. Bios throw away the line breaks you typed. Fancy fonts paste in perfectly and then break search and screen readers. Hashtags silently stop counting past thirty.
This page is the complete guide to those fields: the real limits, the behaviour behind each one, and what to do about it. Every tool linked here runs in your browser, counts what you type locally, and never asks for an Instagram login — which, as the Instagram safety guide explains, is the one test that separates a real tool from a phishing page.
The text fields Instagram gives you, and their limits
| Field | Limit | The catch |
|---|---|---|
| Caption | 2,200 characters | Collapses to “… more” after roughly 125 characters in the feed |
| Hashtags per post | 30 | Anything after the 30th is ignored, wherever it appears |
| Bio | 150 characters | Blank lines you type are deleted; each line is trimmed |
| Username | 30 characters | Letters, numbers, full stops and underscores only |
| Alt text | Set per image | Auto-generated if you leave it blank, usually badly |
| Comment | Same 2,200 as a caption | Where a hashtag block can live instead of the caption |
Two of these numbers are worth internalising because they shape how you write: 125 and 150. Almost everything else is generous enough that you will never hit it.
Captions: the 125-character problem
Instagram shows the beginning of your caption in the feed and hides the rest behind “… more”. The cut-off sits around 125 characters. It is not an exact promise — the real point shifts a little with screen width, font size, emoji and where a word break falls — but 125 is the line people design around, and it is the figure the caption counter marks.
Everything after that point is read only by people who chose to tap. That is a smaller group than you think, and it means your caption has two audiences: everyone, who reads the first line, and a self-selected minority, who read the rest.
The most misunderstood point in this section
The 2,200-character limit is not a target. Long captions are excellent when the content is genuinely a story, a recipe, a breakdown — something a reader taps into deliberately. They are wasted when the first 125 characters are throat-clearing. The length of a caption should be decided by whether there is more to say, never by a belief that longer captions are rewarded. Instagram has not said they are.
Writing a hook that survives truncation
Practical rules that follow directly from the cut-off:
- Put the point in the first sentence. Not context, not a greeting, not “Happy Friday everyone!” — those burn the only characters everyone sees.
- Make the first line stand alone. If it ends mid-thought, the reader has to tap to make sense of it, and most will not.
- Front-load the specific. “Three things I got wrong about lighting” beats “Some thoughts on a topic I’ve been thinking about a lot lately.”
- Do not open with hashtags or mentions. They consume visible characters and tell the reader nothing.
- Put the call to action at the end. The people who reached it are the people most likely to act.
The caption counter shows a live preview of the truncation point alongside a character count, a hashtag count, a mention count and an emoji count, with an amber warning at 2,000 characters and at 25 hashtags. It also has a button that strips the hashtag block out of the caption and hands it back separately for a first comment, which saves the retyping.
Bios: 150 characters and the line breaks that vanish
The bio is the hardest 150 characters on the platform. It has to say what you do, who it is for, and why someone should stay — in less space than this paragraph.
It also has a behaviour that catches everyone. Instagram trims whitespace from each line of the bio and then discards lines that are empty after trimming. A blank line you carefully typed to separate two thoughts simply does not exist when you save. Pressing return twice does nothing. A space on the empty line does nothing, because it gets trimmed. A zero-width space does nothing, because it also gets stripped.
The fix is to make the “blank” line not blank, using a printing character that renders as whitespace. U+2800 BRAILLE PATTERN BLANK is the one that works: it is a real character, so it survives the trim, and it draws as empty space in the fonts Instagram ships with.
U+2800 ← a real character that looks like nothing
line 2
The bio line break generator does this automatically. You type your bio with normal returns, it inserts the braille blanks, counts against the 150-character limit as it goes (amber from 140), shows a live preview, and gives you the result to paste. It also collapses runs of two or more blank lines down to one, because Instagram will not honour a double gap anyway.
Fancy fonts: what they actually cost
The stylised text you see in bios is not a font. Instagram ships no font picker. Those are separate Unicode characters that happen to look like styled letters — mathematical alphanumeric symbols, circled letters, fullwidth forms — pasted in as text. The font generator offers eighteen of them, including two built from combining marks for strikethrough and underline.
They work. They also have real costs, and the tool flags them rather than hiding them:
- Screen readers. Fourteen of the eighteen styles are flagged because assistive technology handles them badly — a screen reader may spell out “mathematical bold small a” for every letter, or skip the text entirely. Someone using a screen reader gets a bio that is unusable or silent.
- Search. These are not the letters they resemble. Text written in them will not match a search for the ordinary spelling.
- Missing glyphs. A device without the right font support shows empty boxes instead of letters.
Two styles are not flagged and are the safer choices if you want visual variation: small caps and fullwidth. The two combining-mark styles are also unflagged, because the underlying letters stay intact and only a decoration is added on top.
The most misunderstood point in this section
Never put your name in a decorative font. The name field is one of the fields Instagram matches against when people search, so writing it in mathematical script can make your account hard to find by the very people looking for it. Decorate a line of the bio if you want the visual break. Leave your name, your handle and anything you want found in ordinary letters. Why bio line breaks disappear, and what fancy fonts cost you covers the accessibility side in detail.
Emoji that break on other people’s phones
The bio generator also flags emoji that render inconsistently across devices: joined sequences like 👨👩👧, variation selectors that decide whether a symbol shows in colour, flags built from two regional indicators, skin-tone modifiers, keycap numbers, and recently added emoji that older phones have never received. Any of these can arrive as a row of empty boxes or as separate fragments on a device that has not been updated. It is not a reason to avoid emoji — it is a reason to check what you have used.
Caption Length Counter
Characters, hashtags, mentions and the 125-character “… more” cut-off, all counted live with a feed preview.
Bio Line Break Generator
Instagram eats ordinary line breaks in the bio field. This puts them back, with a live 150-character counter and preview.
Instagram Font Generator
Eighteen Unicode text styles you can paste into a bio or caption, with an honest note about which ones break screen readers.
Hashtag Set Builder
Build a balanced set from a curated niche dataset, mixing broad and specific tags instead of stacking 30 mega tags.
Hashtags: what they still do, and what they never did
Hashtags are the most over-theorised feature on Instagram. Here is what can be said with confidence: a hashtag is a label. It puts your post on a page with other posts carrying that label, and it gives Instagram a signal about the subject.
What cannot be said with confidence is anything about how heavily that signal weighs in ranking. Instagram publishes very little about distribution, and public statements from the company over the years have generally played down hashtags as a growth lever rather than promoting them. Every specific claim you have read — that a certain number is optimal, that changing them each post matters, that reusing a set gets you penalised — is inference from watching, not documentation. Some of it may be right. None of it is confirmed.
What was never true, and never worked: stacking thirty of the largest possible tags on a post. #love and #instagood attach your post to a page that receives thousands of new posts a minute. You are visible on it for seconds, to an audience with no particular interest in your subject. What still works and what never did goes through the history of that.
How many hashtags, and which mix
The hard number is 30 — Instagram counts the first thirty on a post and ignores the rest, whether they are in the caption or in a comment. The useful number is smaller.
The reasoning behind a smaller set is straightforward, and does not require any theory about ranking: a specific tag puts you in front of a smaller audience that is much more likely to care. Ten well-matched tags describe your post accurately. Thirty tags including six enormous general ones describe it vaguely, and the six enormous ones are a lottery ticket.
The hashtag set builder is built around that trade. It carries a curated dataset of 32 niches, each sorted into five size bands:
| Band | What it is | Role in a set |
|---|---|---|
| Mega | Huge, fast-moving, hard to surface in | One or two at most, for topic signal |
| Large | Broad reach, heavy competition | A small number for category placement |
| Mid | The workhorse tier | The backbone of most sets |
| Niche | Smaller and better matched | Where a well-matched post actually gets seen |
| Micro | Small and specific | Highest chance of surfacing, smallest audience |
You choose a set size — 5, 10, 15, 20 or 30, with 15 as the default — and slide a mix control from broad to niche. The slider reweights the bands: pushed to broad it loads the mega and large bands, pushed to niche it loads the niche and micro bands, and the mid band stays constant at both ends because it is useful either way. You can add up to five seed keywords of your own, which get expanded into a few variants and reserved space in the set.
It also strips engagement-bait tags automatically. #followforfollow, #like4like, #f4f, #tagsforlikes and the rest of that family attract accounts interested in reciprocation rather than in your subject, and they tell Instagram nothing useful about what your post is. If you enter one as a seed keyword, the builder rejects it and tells you why.
The most misunderstood point in this section
Hashtags cannot make a weak post travel. They are a labelling and discovery mechanism, not a distribution one. If a post is not resonating with the people who already follow you, adding tags puts it in front of strangers who have even less reason to care. Fix the post first; the tags are the last five minutes of the job, not the first.
Caption or first comment?
The perennial question, and the honest answer is that it makes little practical difference to how the post is treated. Both are counted — the 30-tag limit spans the caption and comments together — and there is no confirmed ranking advantage to either.
What does differ is how it reads. A caption ending in twenty-five hashtags looks cluttered, and on a post where the caption itself is the content, that clutter is a real cost. Putting the block in the first comment keeps the caption clean.
Reasons to keep them in the caption anyway: they are visible to anyone reading the full caption, they cannot be pushed out of view by later comments, and it is one step instead of two. Pick whichever you will do consistently. The caption counter’s “move to first comment” button makes the second option a single click.
Alt text, mentions and the fields people forget
Alt text is set per image in the advanced settings when you post, and can be added afterwards by editing. If you leave it blank Instagram generates something automatically, and the automatic version is usually a vague list of objects. Writing it yourself takes fifteen seconds, makes your post usable by people using screen readers, and gives Instagram an accurate description of what the image contains. There is no reason not to.
Mentions notify the account you tag and create a link. Tagging brands or people who genuinely appear in the post is normal and useful. Tagging large accounts who have nothing to do with the post in the hope of being noticed is the mention equivalent of engagement-bait hashtags — it does not work, and it is visible to everyone.
The location tag puts your post on a place page, which for anything local is often a better discovery surface than a hashtag.
The name field is separate from your username and is matched in search, so it is worth spending on keywords rather than decoration — “Ana — Sourdough & Slow Baking” works harder than a stylised version of your own name.
A pre-publish checklist
- Read only the first 125 characters of your caption. If that alone does not earn a tap, rewrite it. The caption counter shows exactly where the cut falls.
- Check the totals — under 2,200 characters, 30 hashtags or fewer.
- Decide caption or first comment for the hashtag block, and be consistent.
- Build the tag set from a mix in the hashtag set builder rather than reusing thirty broad ones.
- Write the alt text yourself.
- Check the bio counter if you changed the bio — 150 characters including every spacer line.
- Confirm your name and handle are in ordinary letters, whatever you did with the rest of the bio.
- Check the pixels too. The sizes and dimensions reference covers ratios and safe zones, and what to measure afterwards is in the analytics guide.
How long can an Instagram caption be?
2,200 characters. But only about the first 125 are visible in the feed before Instagram collapses the rest behind “… more”, so the opening line carries almost all of the weight.
Where exactly does Instagram cut off a caption?
Around 125 characters. The exact point moves a little with screen width, font size, emoji and where the nearest word break falls, so treat 125 as a line in the sand rather than a promise. The caption counter marks it live as you type.
Why do my Instagram bio line breaks disappear?
Instagram trims whitespace from each bio line and then deletes any line that is empty afterwards. Spaces and zero-width spaces both get stripped. The fix is U+2800 BRAILLE PATTERN BLANK, a printing character that survives the trim and renders as empty space — which is what the bio line break generator inserts for you.
How many characters is an Instagram bio?
150, and every spacer character you add for a line break counts against that total. A four-line bio with three gaps spends three of your 150 characters on the gaps.
Are fancy Instagram fonts bad for your account?
They carry two concrete costs. Screen readers handle most of them badly — fourteen of the eighteen styles in our generator are flagged for that reason — and because they are different Unicode characters, text written in them will not match ordinary-spelling searches. Small caps and fullwidth are the safer options. Never use them for your name or handle.
How many hashtags should I use on Instagram?
Fewer than the maximum. Instagram counts up to 30 and ignores the rest, but a well-matched set of 10 to 15 that mixes mid-sized and niche tags describes the post accurately, whereas 30 including several enormous general tags does not. There is no confirmed optimal number — anyone quoting one is guessing.
Should hashtags go in the caption or the first comment?
Either. The 30-tag limit spans both, and there is no confirmed ranking difference. The first comment keeps the caption clean, which matters when the caption is the content. Choose one and do it consistently.
Do banned or engagement-bait hashtags hurt a post?
Tags like #followforfollow and #like4like reliably attract accounts interested in reciprocation rather than your subject, and they give Instagram no useful signal about the post. Whether they trigger any specific penalty is not something Instagram documents. The hashtag builder removes that family automatically.
Does changing my hashtags every post matter?
Nobody outside Instagram knows. The advice to rotate them is widely repeated and has never been confirmed. Varying them so they actually describe each post is sensible on its own merits, since a set that fits the post is a better label than one recycled from a different subject.
Should I write my own alt text?
Yes. If you leave it blank, Instagram generates a vague automatic description. Writing it yourself takes seconds, makes the post usable for people using screen readers, and gives an accurate account of what the image shows.