How to Format Text on Bluesky: Bold, Italic & More
Want to make your Bluesky posts stand out with bold text or italics? This guide explains exactly how Unicode text formatting works on Bluesky â and how to use it effectively.
Why Bluesky Doesn't Have Native Text Formatting
Bluesky is built on the AT Protocol, an open social networking standard. The post format (called a "record") stores text as plain UTF-8 strings. Rich text in Bluesky is limited to links, mentions (@handles), and hashtags â all handled via metadata attached to specific character ranges, not inline markup like HTML or Markdown.
This means there is no native **bold** or _italic_ syntax in
Bluesky posts. The app does not render Markdown, and there is no editor toolbar for styling.
What you see in a post is exactly what was typed â plain text.
This design keeps the protocol simple and interoperable across clients, but it leaves users without a way to emphasize text. That's where Unicode comes in.
How Unicode Text Styles Work
The Unicode standard includes over 140,000 characters, many of which are mathematical symbols that happen to look like styled versions of the Latin alphabet. For example, the Unicode character U+1D5D4 (đ) looks like a bold capital A, and U+1D5EE (đŽ) looks like a bold lowercase a.
By replacing each letter in your text with its Unicode mathematical equivalent, you get text that looks bold or italic â even in a plain-text context like a Bluesky post. The characters are real Unicode code points, so they are stored and transmitted as ordinary text. Any app or device that supports Unicode (which is essentially everything made in the last 20 years) will render them correctly.
The tradeoff is accessibility: screen readers may read these characters as individual symbol names rather than letters, which can make posts harder to follow for users who rely on assistive technology. Use formatting sparingly and purposefully with this in mind.
Available Text Styles
The following styles work reliably across Bluesky clients and most platforms where you might share Bluesky content:
| Style | Example output | Best used for |
|---|---|---|
| Bold | đđ˛đšđšđŧ đđŧđŋđšđą | Headlines, key terms, announcements |
| Italic | đđĻđđđ° đ¸đ°đŗđđĨ | Titles, emphasis, foreign phrases |
| Bold Italic | đđđĄđĄđ¤ đŦđ¤đ§đĄđ | Strong emphasis, calls to action |
| Script | đđŽđĩđĩđ¸ đđ¸đģđĩđ | Creative writing, decorative headings |
| Monospace | đˇđđđđ đ đđđđ | Code snippets, technical terms |
| Strikethrough | HĖļeĖļlĖļlĖļoĖļ ĖļwĖļoĖļrĖļlĖļdĖļ | Corrections, humor, crossed-out ideas |
| Underline | H˞e˞l˞l˞o˞ ˞w˞o˞r˞l˞d˞ | Subtle emphasis (use sparingly) |
Note: Digits (0â9) support bold and monospace styles. Symbols and punctuation remain unchanged in most styles â only letters are converted.
Step-by-Step Guide
Using the Bluesky Text Formatter takes about ten seconds:
- Open the formatter. Go to the Bluesky Text Formatter at the top of this site.
- Type or paste your text. Enter the text you want to style in the input box. The character counter updates in real time â Bluesky posts have a 300-character limit.
- Choose a style. Each style card below the input shows a live preview of your text in that style. Find the one you want.
- Copy the result. Click the Copy button on the style card. The formatted text is now in your clipboard.
- Paste into Bluesky. Open the Bluesky compose window, paste, and post. The styled text will appear exactly as previewed.
You can mix styles by formatting different parts of your text separately and assembling them in the Bluesky compose window. For example, format a heading in bold, copy it, then format the body text in plain or italic separately.
Tips for Effective Bluesky Posts
Use formatting sparingly
A post where every sentence is bold loses all emphasis. Reserve styled text for the one or two words that genuinely need to stand out. A single bold phrase draws the eye; a wall of bold text just looks noisy.
Keep the 300-character limit in mind
Unicode-styled characters are single code points â a bold "A" is one character, not two. The formatter's built-in counter uses grapheme counting (the same method Bluesky uses), so the number shown is accurate. Strikethrough and underline use combining characters, which add to the count; a ten-character word with strikethrough uses roughly 18â20 characters.
Test on mobile before posting
Most Unicode styles render well on iOS and Android, but a small number of fonts may substitute a placeholder box for less common code points. Paste your formatted text into a notes app on your phone to check rendering before you post.
Monospace for code and data
If you're sharing a command, a variable name, or a short data snippet, monospace style makes it instantly recognizable as code â useful in tech-focused communities on Bluesky where Markdown code fences aren't available.
Accessibility considerations
Screen readers often announce Unicode mathematical characters by their Unicode name (e.g. "mathematical bold capital H") rather than simply "H". For posts that need to be widely accessible, plain text is safer. Use formatting for decorative or supplementary content rather than for information that would be lost if the style were stripped.
Frequently Asked Questions
Does formatted text count differently toward the 300-character limit?
No. Each Unicode character counts as one character regardless of how it looks. A bold letter and a plain letter both count as one. The exception is strikethrough and underline, which use combining diacritics â each styled letter becomes two characters (the base letter plus the combining mark), effectively doubling the character count for those styles.
Will the formatting look the same on all Bluesky clients?
Yes, because the characters are plain Unicode â not app-specific markup. Any client that displays the post (web, iOS, Android, third-party apps) will show the same characters. The exact visual appearance depends on the font the client uses, but the style (bold, italic, etc.) will be consistent across devices.
Can I search for formatted text on Bluesky?
Bluesky search looks for exact character matches. A search for the plain word "hello" will not find a post containing the bold Unicode version "đĩđ˛đšđšđŧ". If discoverability via search matters to you, keep keywords in plain text and style only decorative or emphatic words.
Does this work on other platforms too?
Yes. Because these are standard Unicode characters, the same formatted text works in Twitter/X, Mastodon, LinkedIn, Discord, and virtually any platform that accepts Unicode input. The only requirement is that the platform does not strip or escape Unicode code points above U+FFFF â and most modern platforms handle them correctly.
Is there a way to get bold text without the Unicode workaround?
Not currently. Bluesky's AT Protocol spec does not include inline text styling for posts
as of 2026. Bold and italic formatting in AT Protocol exists only in rich text fields
like long-form posts (Lexicon types that support Markdown-like annotations), not in the
standard app.bsky.feed.post type used for regular posts.
What's the difference between bold and bold italic?
Bold uses the Unicode Mathematical Bold block (U+1D400âU+1D433), which renders as thick upright letters. Bold Italic combines weight and slant, using the Mathematical Bold Italic block (U+1D468âU+1D49B). Use bold for prominence and bold italic when you want maximum visual impact â for example, a call to action or a key announcement.
Ready to format your next Bluesky post?
Open the Bluesky Text Formatter →