Caption length checker for every platform at once
Write the caption once and see where it stands on every network at the same time, with the exact number of characters to cut. Runs in your browser; nothing is uploaded or stored.




Stays in your browser. Nothing is uploaded, and nothing is stored.
0 of 63,206. So high it is effectively no limit for a caption.
0 of 3,000. Truncated behind a see more control long before this.
0 of 2,200. Truncated behind a see more control long before this.
0 of 800. Short by design. A feed caption usually needs cutting.
0 of 500. Short by design. A feed caption usually needs cutting.
0 of 300. The tightest here. A feed caption usually needs cutting.
A short title kept apart from the caption. No other network here has one.
0 of 100
The limit is not the useful number
Every one of these platforms truncates a long caption behind a see more control long before its actual ceiling. Being under the limit means the post will go up, not that anyone will read to the end of it. Put the thing that matters in the first line.
One of them is far tighter than the rest
Bluesky allows 300 characters, far fewer than the rest. A caption written for a longer feed post will usually need cutting before it fits there, so check before assuming one caption serves everywhere.
Where these numbers come from
They are read from PlanBatch's own configuration, the same values the app checks when you schedule a post, so this page cannot quietly disagree with the product. That also means it covers the networks PlanBatch publishes to, not every network there is. The limits for the network with a separate title were taken from its published API specification rather than from a blog post.
Writing a lot of these?
Checking one caption by hand is fine. If you write a month of them at a time, PlanBatch takes a spreadsheet of captions, renders branded images for each, and refuses a post that is over its platform's limit before it is ever scheduled.
A month of posts from one spreadsheet
Templates, brand kits, a calendar, and automatic publishing, with the character limits checked for you.
More free tools
All free, all no signup, all running in your browser.
Grid crop checker
See exactly what the profile grid keeps of your post since the January 2025 change, and what gets cropped away.
OpenCarousel splitter
Split one wide image into seamless 1:1 or 4:5 carousel slides, entirely in your browser.
OpenImage size checker
See which post formats your image already fits, and what square, portrait, story and pin each crop away.
OpenLinkedIn carousel PDF
Turn slide images into the PDF LinkedIn needs for a swipeable carousel, every page the same size.
OpenCSV checker
Check a bulk-upload CSV against your scheduler's own rules, row by row, before it rejects or skips anything.
OpenEvergreen rotation
Lay your evergreen posts out on a dated schedule that never repeats one too soon, as a CSV for your scheduler.
OpenWriting the posts too? Do it with your AI assistant: a month of posts with ChatGPT, Claude or Gemini.
Common questions
Not covered here? Write to info@planbatch.com.
Where do these character limits come from?
They are the same numbers PlanBatch enforces when you schedule a post, read straight from the app's own configuration rather than typed into this page. The tightest pair was taken from that platform's published API specification rather than from a blog post.
Why is Facebook's limit so much higher than the rest?
Because it genuinely is: 63,206 characters against Instagram's 2,200. In practice no caption reaches it, which is why the counter says so rather than pretending it is a meaningful ceiling.
Does being under the limit mean the whole caption is shown?
No, and the two are worth separating. The limit is what the platform will accept; every one of them truncates a long caption behind a see more control well before that. Under the limit means it will post, not that it will be read.
Why is there a separate title box?
A title distinct from the caption, capped at 100 characters, which makes it the tightest field on the page. Most networks have no equivalent at all, so the box applies only where it exists.
Is my caption sent anywhere?
No. The counting happens in your browser as you type. Nothing is uploaded and nothing is stored.