About Bluesky Counter
A free, open, privacy-first character counting and post formatting tool for the Bluesky social network โ built by developers, for the community.
Why We Built This
When Bluesky launched, developers quickly discovered that its character counting works very differently from Twitter or Threads. The AT Protocol uses grapheme clusters โ visual characters rather than raw Unicode code points โ making a family emoji count as 1 character instead of 8+.
Standard JavaScript's .length property gives completely wrong results for Bluesky posts. We built this tool to surface the exact same counting logic that Bluesky's servers use, so creators can draft confidently without surprise rejections.
What the tool does
- ๐ข Counts graphemes using Intl.Segmenter โ same as Bluesky
- ๐พ Tracks UTF-8 byte weight alongside grapheme count
- โ๏ธ Auto-splits long drafts into properly sized thread posts
- ๐๏ธ Highlights links, @mentions, and #hashtags as AT Protocol facets
- ๐ Crosspost checker for Twitter, Threads, and Mastodon simultaneously
- ๐ฌ Unicode grapheme debugger with per-character codepoint breakdown
- ๐ 100% client-side โ your drafts never leave your browser
๐ Our Privacy Commitment
Every feature on this site runs entirely in your browser. We have deliberately built Bluesky Counter as a fully static site โ there is no backend, no database, no user accounts, and no server receiving your draft text. The character counting, thread splitting, and facet analysis happen in your browser's JavaScript engine.
We set zero cookies, use no advertising trackers, and collect no personal data. The only external service loaded is Google Fonts for typography.
Read our full Privacy Policy โBuilt by DEVBUILDTOOL
DEVBUILDTOOL is a developer-focused product studio that builds free web utilities, developer tools, and open-source resources. Our philosophy is simple: the best developer tools are fast, focused, and free of dark patterns.
We build tools we actually use ourselves. Bluesky Counter started as an internal script to validate AT Protocol post lengths during development โ and we open-sourced it as a polished web app so the wider community could benefit.
Tool at a Glance
How It's Built
Built with Astro for zero-JS static delivery, Svelte for hydrated interactive components (only the tools that need it), and Tailwind CSS v4 for the design system. Character counting uses the browser's native Intl.Segmenter API โ the same underlying API called by Bluesky's rich-text library.
Start Crafting Better Bluesky Posts
Use the counter tool, explore the comparison guides, or read our blog for Bluesky tips.