Favorite places of your favorite city
Home
Add to preferred sources on Google

Social Media Character Counter

Check your draft against documented platform rules, then split long posts without losing text. Everything runs locally in this tab.

Your text

0 Characters

0 Words

Text statistics
Lines
0
UTF-8 bytes
0
URLs
0
Hashtags
0
Mentions
0

Compare posts and captions

One draft, all platforms. Expand a row for fields, limits and splitting.

≈ Estimated count. Each bar shows the most-used limit. A warning appears at 90–100% usage.

Your draft stays in this tab. Nothing is uploaded or saved.

How to use the social media counter

  1. Paste or type your post here…
  2. One draft, all platforms. Expand a row for fields, limits and splitting.
  3. For long posts, review the proposed parts and optionally add numbering. Copy individual parts or copy them all.
  4. For a video description, inspect the length boundary and edit your original text yourself. Check the final draft in the destination editor before publishing.

Features

  • Checks one draft against several platform fields
  • Explains platform-specific counting and limits
  • Splits long posts without discarding text
  • Shows field-specific limits and remaining space
  • Counts links, hashtags and mentions for review
  • Offers optional numbering for split posts

Use cases

  • Prepare a post for more than one platform
  • Split a long update into numbered parts
  • Check a post containing links or hashtags
  • Review a video description before publishing

Why platform counts differ

A grapheme is a character as it is typically perceived: an accented letter or a family emoji may consist of several Unicode code points. Bytes measure encoded size instead. The same draft can therefore fit one platform and exceed another.

X applies a weighted model and transforms recognized URLs before counting. Bluesky independently checks graphemes and bytes. YouTube descriptions use bytes, while the TikTok video API specifies UTF-16 units. The source sections above describe the supported fields.

Spaces and explicit line breaks remain part of the text. Word counts use language-aware segmentation where available. URL, hashtag and mention totals are informational detections, not promises that every platform will linkify them identically. Repeated hashtags are grouped without regard to case or canonically equivalent accents.

For Facebook, Instagram, LinkedIn and other targets marked approximate, a documented or secondary-source ceiling is used with grapheme counting. An official source does not automatically establish exact Unicode semantics. Estimated results guide editing and never claim that the platform has accepted or rejected your draft.

Practical examples and limits

Try a family emoji, a letter with a combining accent and a Chinese sentence. Compare the grapheme count with UTF-8 bytes: a short-looking description can still consume substantial space.

Paste a long URL into an X post and compare it with Bluesky. Then enable numbering in the splitter: the numbering consumes part of each post’s allowance. Paragraph and sentence boundaries are preferred when they leave a reasonably full part.

The splitter preserves every original space and line break. A link or hashtag longer than the allowance remains whole with a warning. This tool does not rewrite your message, score engagement or predict where a feed will fold text.

Also compare Russian and Chinese platforms: VK, OK, MAX, Weibo, WeChat, Douyin, Xiaohongshu and Bilibili. Choose the listed field and check its source; API, promoted-post and member limits apply only to those workflows.

Privacy and accuracy

Drafts live only in page memory. They are not sent to a server, stored in browser storage, added to URLs or included in page metadata. Reloading or leaving the page loses the draft. Copying writes to your clipboard only when you request it.

Limits describe the linked fields and sources, not every account tier or publishing workflow. The X library has older emoji data, and browsers without Intl.Segmenter use an approximate Unicode fallback. Verify unusual Unicode and the final publishing result in the platform editor.

Questions about social media counting

A visible emoji may combine several code points. Platforms can measure graphemes, weighted characters, UTF-16 units or UTF-8 bytes; those units produce different totals.

No. Joining the original content of the parts exactly recovers your draft. Optional numbering and the separator inserted by Copy all are extra presentation text. Oversized indivisible tokens are flagged for manual editing.

No. The result checks documented text constraints. Account features, moderation, media, editor behavior and future rule changes can affect publishing.

No. The tool processes it in this tab and does not save or upload it. Copy actions are explicit; refreshing the page clears the draft.

Sources and last verified

Instagram

Caption

Approximate count: 2,200 graphemes

Instagram captions use Sprout Social’s publishing reference. This is an approximate grapheme count, not a verified Instagram Unicode validator; captions, bios and Stories are different fields.

Sprout Socialsupport.sproutsocial.comInstagram · Caption: source documentation · Sprout Social

Secondary estimate · Verified 2026-09-12

Bio

Approximate count: 150 graphemes

Instagram bio length uses Hootsuite’s guide as a secondary reference. Links and other profile fields are separate. Review emoji and combining characters in Instagram before saving.

Hootsuiteblog.hootsuite.comInstagram · Bio: source documentation · Hootsuite

Secondary estimate · Verified 2026-09-12

Coverage is field-specific. Estimates, API limits and account tiers are labeled; confirm the result in the destination editor. There is no universal ideal length or guaranteed reach score.

JSON to YAML

Convert JSON to YAML locally while preserving number text and quoted strings; copy or download the complete result.

Open tool — JSON to YAML

YAML to JSON

Convert one YAML document locally to JSON with exact number text and bounded aliases, then copy or download the complete result.

Open tool — YAML to JSON

HTML to Markdown

Convert pasted or local HTML into Markdown, review conversion notes, and copy or download the result.

Open tool — HTML to Markdown

JavaScript Regex Tester

Test a JavaScript pattern locally and inspect matches, captures, and UTF-16 positions.

Open tool — JavaScript Regex Tester

Markdown to HTML

Convert a Markdown draft to an HTML fragment, inspect the source and inert preview, then copy or download it.

Open tool — Markdown to HTML

Text Sorter

Sort lines alphabetically by a chosen language or by Unicode code point, keeping duplicates, blank rows and complete line contents.

Open tool — Text Sorter

Remove Duplicate Lines

Keep the first copy of each exact text line, preserving order, significant spaces and blank rows, then copy or download the result.

Open tool — Remove Duplicate Lines

Text Diff Checker

Compare two drafts locally, with exact whole-line changes, visible whitespace rules and clear final-newline handling.

Open tool — Text Diff Checker

Case Converter

Convert text to uppercase, lowercase, capitalized words or sentence case with explicit letter rules.

Open tool — Case Converter

HTML Entity Encoder/Decoder

Encode or decode literal HTML references with explicit context, Unicode options and LF output, without parsing or rendering markup.

Open tool — HTML Entity Encoder/Decoder

Markdown Table Generator

Edit a small literal-text table, set alignment and copy GFM Markdown or import tab-separated text.

Open tool — Markdown Table Generator

Query String Parser & Builder

Edit ordered URL parameters, retain repeated names and copy a normalized query or HTTP(S) URL.

Open tool — Query String Parser & Builder

URL Encoder & Decoder

Convert a UTF-8 URL component or form value with explicit space and plus rules, then copy or download the result.

Open tool — URL Encoder & Decoder

Base64 Encoder & Decoder

Encode UTF-8 text as standard or URL-safe Base64, or decode either format with clear errors and complete text output.

Open tool — Base64 Encoder & Decoder

XML Formatter

Check namespace-aware XML 1.0, format or compact locally, and copy or download UTF-8 output.

Open tool — XML Formatter

JSON Formatter & Validator

Check JSON syntax, format or minify locally, and copy or download output while preserving original data tokens.

Open tool — JSON Formatter & Validator

SMS Character Counter & Segment Calculator

See how your message is encoded, where its segments end and what it may cost. Your text stays in your browser.

Open tool — SMS Character Counter & Segment Calculator

Character Counter

Count characters, words, sentences and paragraphs. Check word density, reading time and UTF-8 size, all in your browser.

Open tool — Character Counter

Text Size Calculator

Compare text encodings and payload sizes in your browser.

Open tool — Text Size Calculator

PDF Text Cleaner

Fix line breaks and spacing in text copied from a PDF. Preserve your original and review ambiguous hyphens before copying the cleaned text.

Open tool — PDF Text Cleaner

Fancy Text Converter

Convert supported fancy Unicode letters to normal text locally. Keep case, accents, emoji and your original text.

Open tool — Fancy Text Converter

Garbled Text Fixer

Fix garbled text and repair broken accents with a browser-based mojibake fixer. Review each possible UTF-8 reversal before applying it.

Open tool — Garbled Text Fixer

Gmail Clipping Checker

Measure email HTML bytes in UTF-8, compare them with an advisory 102,000-byte Gmail reference, and inspect size contributors locally.

Open tool — Gmail Clipping Checker
View all tools in this category