Skip to content

How to Format Text on Every Platform: The Definitive Cross-Platform Reference

A platform-by-platform guide to where bold, italic, and styled text are real features, where they only work as a Unicode workaround, and how to do each one correctly.

Updated 2026-07-23 Maintained by BoldlyType editors

You typed your post, reached for the bold button, and there wasn't one. That single missing button is why this page exists. Some apps treat formatting as a first-class feature with a toolbar or a markdown syntax they actually parse; others hand you a plain-text box and silently strip anything fancier than an emoji. The catch is that the two cases look identical until you hit publish, and the "fix" that works on one platform produces literal asterisks or invisible-to-search garbage on another.

This is the master reference for getting it right everywhere. For each major platform we tell you one thing first: does it format text natively, or do you need the Unicode workaround? That distinction governs everything else β€” which characters to type, whether your styling survives a copy-paste, and whether a screen reader or the platform's own search can still read what you wrote.

Use it as a lookup table when you're stuck, and read the methodology section once so you understand why LinkedIn needs a different trick than Discord. Everything here reflects how these apps behaved as of 2025–2026; platforms change their composers often, so we note where features are new, partial, or still rolling out.

NativeUnicodePartialNot really

The cross-platform formatting matrix

How every major platform handles each kind of formatting β€” green means the app does it natively, indigo means you paste a Unicode workaround. Tap a platform for its dedicated formatter.

PlatformBoldItalicStrikethroughMonospace / codeBullet listLine breaks
LinkedInPlain-text editor; paste Unicode bold 𝗯𝗼𝗹𝗱 (no native button in posts/comments)Paste Unicode italic π˜ͺ𝘡𝘒𝘭π˜ͺ𝘀; no native italic in postsPaste U+0336 combining strikethrough sΜΆoΜΆ ΜΆlΜΆiΜΆkΜΆeΜΆ ΜΆtΜΆhΜΆiΜΆsΜΆPaste Unicode monospace πš–πš˜πš—πš˜; no code featureNo list feature; type/paste a β€’ char per line manuallyPress Enter; single/double breaks are preserved in posts
InstagramPlain-text bio/caption; paste Unicode bold 𝗯𝗼𝗹𝗱 (no bold button)Paste Unicode italic π˜ͺ𝘡𝘒𝘭π˜ͺ𝘀; no native italic anywherePaste U+0336 combining-strikethrough textPaste Unicode monospace πš–πš˜πš—πš˜; no code featureNo list feature; paste a β€’ char per line manuallyApp collapses blank lines; paste invisible char (U+2063/U+2800) on empty lines, no trailing spaces
X (Twitter)Plain-text composer; paste Unicode bold 𝗯𝗼𝗹𝗱 (free accounts have no bold; Premium adds a native B button)Paste Unicode italic π˜ͺ𝘡𝘒𝘭π˜ͺ𝘀; free accounts have no italic (Premium adds a native I button)Paste U+0336 combining-strikethrough textPaste Unicode monospace πš–πš˜πš—πš˜; no code featureNo list feature; type/paste a β€’ char per line manuallyPress Enter (Shift+Enter on web); line breaks are preserved
FacebookPlain-text composer; paste Unicode bold 𝗯𝗼𝗹𝗱Paste Unicode italic π˜ͺ𝘡𝘒𝘭π˜ͺ𝘀; no native buttonPaste U+0336 overlay sΜΆtΜΆrΜΆiΜΆkΜΆeΜΆ; ~~ not parsedPaste Unicode mono πš–πš˜πš—πš˜; no code featurePaste a β€’ char per line; no auto-listPress Enter; line breaks hold in post composer
ThreadsNative in long-form text-attachment (selectβ†’Bold, shipped Sept 2025); paste Unicode 𝗯𝗼𝗹𝗱 in regular feed postsNative in text-attachment; paste Unicode π˜ͺ𝘡𝘒𝘭π˜ͺ𝘀 in feed postsNative in text-attachment (also has native underline there); else paste U+0336 sΜΆtΜΆrΜΆiΜΆkΜΆeΜΆ in feed postsNo native mono; paste Unicode πš–πš˜πš—πš˜Paste β€’ char per line; no native listPress Enter; breaks render in feed
TikTokPlain-text caption/bio; paste Unicode bold 𝗯𝗼𝗹𝗱Paste Unicode italic π˜ͺ𝘡𝘒𝘭π˜ͺ𝘀; no native optionPaste U+0336 overlay sΜΆtΜΆrΜΆiΜΆkΜΆeΜΆ (not in @handle)Paste Unicode mono πš–πš˜πš—πš˜; no code featurePaste a β€’ char per line; no auto-list123-key Return or paste from Notes; breaks often collapse
WhatsAppWrap in *asterisks*: *bold*Wrap in _underscores_: _italic_Wrap in ~tildes~: ~strike~Wrap in ```triple backticks``` for inline monospace (single backticks do NOT format)Start lines with - or * + space; auto-formats as a list (numbered list via 1. + space)Shift+Enter (desktop) / return key (mobile)
TelegramSelect text > Bold, or Ctrl/Cmd+B; desktop also **bold**Select text > Italic, or Ctrl/Cmd+I; desktop also __italic__Select text > Strikethrough (Ctrl/Cmd+Shift+X); desktop ~~strike~~Select text > Monospace, or wrap in `backticks` / ```blocks```No list feature; paste a β€’ or - and add line breaks manuallyShift+Enter (desktop); return key (mobile)
DiscordWrap in **double asterisks**: **bold**Wrap in *single asterisks* or _underscores_Wrap in ~~double tildes~~: ~~strike~~Inline `backticks`; ```blocks``` for multi-line codeStart lines with - or * + space; renders as a bulleted listShift+Enter (Enter alone sends the message)
SlackWrap in *single asterisks* or Cmd/Ctrl+B / toolbarWrap in _underscores_ or Cmd/Ctrl+I / toolbarWrap in ~single tildes~ or Cmd/Ctrl+Shift+X`backticks` inline; ``` triple backticks for code blockToolbar bullet button, or start a line with - or * + space and it auto-formats as a listShift+Enter for a new line within one message
RedditWrap in **double asterisks** or use Rich Text toolbarWrap in *single asterisk* or _underscore_Wrap in ~~double tildes~~`backticks` inline; ``` fence or 4-space indent for blockStart each line with - or * (toolbar in Rich Text editor)Single Enter collapses; use a blank line or two trailing spaces
YouTubeWrap word in *asterisks* (comments, descriptions, community posts)Wrap word in _underscores_Wrap word in -hyphens-No code/monospace markup; paste Unicode πš–πš˜πš—πš˜ chars to fake itNo list markup; paste a β€’ per line manuallyPress Enter (descriptions/comments keep line breaks)

Heads-up: Unicode styled text is read poorly by screen readers and can break search and hashtag matching, so use it for emphasis β€” not whole posts or essential details.

There are exactly two ways to make text look bold, italic, or fancy online, and almost every formatting question comes down to which one a platform gives you.

Native formatting means the app itself renders the styling. There are two flavors of native, and both are real features. The first is a toolbar (or rich-text editor) where you select text and click a B or I button β€” Slack, Reddit's fancy-pants editor, and LinkedIn's article editor work this way. The second is a markup syntax the app parses: you type plain symbols around your words and the app converts them on display. WhatsApp turns *hello* into hello, Discord turns **hello** into hello, and YouTube turns *hello* into bold in comments. The symbols disappear (or are hidden), and the result is genuine styled text the platform understands. Native formatting is generally the best option where it's fully supported: in a true rich-text editor (Slack, Reddit's fancy-pants, LinkedIn articles) it's readable by assistive technology, survives the platform's own search, and renders consistently. Lightweight markup like YouTube's *bold* is more limited and brittle, but it's still real, accessible text β€” so prefer native wherever the platform offers it.

The Unicode workaround is what you fall back to when the text box is plain text with no formatting feature at all. Instagram, X/Twitter, Threads, TikTok, Facebook, and LinkedIn's main post and comment composer all strip markup and have no bold button. The only way to show bold or italic there is to paste characters that are already bold or italic β€” Unicode includes full alphabets of "Mathematical Alphanumeric Symbols" (𝗯𝗼𝗹𝗱, π˜ͺ𝘡𝘒𝘭π˜ͺ𝘀, 𝓼𝓬𝓻𝓲𝓹𝓽) that look like styled letters but are distinct code points. You generate them in a converter and paste them in. The style is baked into the character, not applied by the app, which is why it works in a plain-text box.

The honest caveat β€” and it matters. Because each Unicode "bold A" is a separate character from a normal A, screen readers often read these strings as gibberish, skip them, or announce every symbol by its formal name, making your text painful or impossible for visually impaired readers. Unicode styling can also break hashtag matching, in-app search, and how usernames are indexed. So treat it as decoration for emphasis β€” a standout name, one punchy line β€” never for body copy, calls-to-action, or anything that must be found or read aloud. When a platform offers native formatting, always prefer it; reach for Unicode only where the platform leaves you no other option.

Platform-by-platform cheat sheet

Best method: Type plainly, then paste Unicode styled characters for emphasis only; use β€’ for bullets and Enter for spacing.

Watch out: Unicode bold/italic isn't indexed and is read poorly by screen readers, so never style keywords, hashtags, or names you want found.

Best method: Paste Unicode styled characters for emphasis and use a line-break generator (invisible chars) to keep caption spacing.

Watch out: Instagram strips empty lines and Unicode glyphs aren't searchable nor screen-reader friendly, so styled keywords/hashtags stop matching.

X (Twitter)

Formatter β†’

Best method: Paste Unicode styled characters for emphasis (or use X Premium's native bold/italic B/I buttons if subscribed); Enter for line breaks.

Watch out: X Premium adds real native bold/italic buttons (B/I) to the composer, but free accounts are plain text and styled Unicode is invisible to X search.

Best method: Paste Unicode for bold/italic/strike/mono; real Enter handles line breaks and a pasted β€’ makes bullets.

Watch out: The whole composer is plain text, so Unicode styled text is unsearchable and read poorly by screen readers β€” use it for emphasis, not body copy.

Best method: For long-form, use the text-attachment toolbar (select text β†’ style); for feed posts paste Unicode to stand out.

Watch out: Native bold/italic/underline/strike (shipped Sept 2025) live ONLY in the long-form text-attachment surface (up to 10,000 chars) β€” the regular 500-char feed composer is still plain text and needs Unicode.

Best method: Paste Unicode for all styling; type breaks via the in-app numeric-keyboard Return or a line-break generator.

Watch out: Line breaks frequently collapse when captions are pasted, so many creators inject invisible spacer characters (line-break generators) to force the breaks to survive.

Best method: Use WhatsApp's built-in *_~ syntax (or long-press > Format) and - / 1. for lists β€” no Unicode workaround needed.

Watch out: Markers must hug the text with no inner spaces; monospace needs TRIPLE backticks (single ` does nothing), and stray * or _ in normal text can accidentally trigger formatting.

Best method: Select text and use the pop-up formatting menu (bold/italic/strike/mono/spoiler) - fully native.

Watch out: Markdown shortcuts work on Desktop (note __double underscore__ = italic, not underline) but the apply-as-you-type set varies by client; the select-text menu is the reliable path everywhere.

Best method: Type Discord markdown directly (**bold**, *italic*, ~~strike~~, `code`) - native, no Unicode.

Watch out: Bold is DOUBLE asterisks and strike is DOUBLE tildes (unlike Slack/WhatsApp single); a lone Enter sends the message instead of adding a new line.

Best method: Use the WYSIWYG toolbar or single-char mrkdwn (*bold*, _italic_, ~strike~) and the list button or - / 1. for lists; it's a real native feature, no Unicode needed.

Watch out: Slack uses SINGLE asterisks for bold and SINGLE tildes for strike β€” Discord-style **double** and ~~double~~ won't render.

Best method: Switch to Markdown mode and use full markdown (**bold**, ~~strike~~, - bullets); native and reliable.

Watch out: A single Enter is ignored β€” you need a blank line (or two trailing spaces) or text runs together into one paragraph.

Best method: Use the limited native markup (*bold*, _italic_, -strike-) on clean words; fall back to Unicode for monospace/bullets.

Watch out: Markup breaks if the styled text touches punctuation or numbers, e.g. -42- and _Thanks!_ won't format β€” pad as _Thanks_ ! ; only *bold* / _italic_ / -strike- exist (no mono, no lists).

Key takeaways

  • Every formatting question reduces to one fork: does the platform format text natively (toolbar or parsed markup), or is it a plain-text box where you need the Unicode workaround?
  • Native is always better when available β€” it's readable by screen readers, survives the platform's search, and renders consistently. Reach for Unicode only when there's no native option.
  • Chat and community apps (WhatsApp, Telegram, Discord, Slack, Reddit, YouTube comments) format natively; public feeds (Instagram, X, Threads, TikTok, Facebook) are plain text and need pasted Unicode characters.
  • Syntax differs even among native apps β€” Slack bold is a single asterisk `*bold*` while Discord is double `**bold**`, and YouTube uses hyphens for strikethrough. Copy a habit from one app and it breaks on another.
  • LinkedIn is split: its main posts and comments are plain text (Unicode only, and invisible to search), but its 'Write article' editor has true rich text.
  • Unicode styled text is for short emphasis, not body copy β€” it can be read as gibberish by assistive tech and can break hashtags and in-app search.

Text formatting β€” frequently asked questions

Latest questions readers ask us about this topic.

Does LinkedIn support bold and italic text natively?

Not in posts or comments. LinkedIn's main composer β€” the box for feed posts, comments, and your headline β€” is plain text with no bold or italic button and no markdown parsing, so typing `*bold*` just leaves the asterisks visible. The only way to show bold or italic there is to paste Unicode styled characters (𝗯𝗼𝗹𝗱, π˜ͺ𝘡𝘒𝘭π˜ͺ𝘀) generated by a converter; the style is baked into the characters themselves, so it survives the paste into a plain-text field. The one real exception is LinkedIn's 'Write article' editor, which is a genuine rich-text editor with working bold, italic, headings, quotes, and lists. Important caveat: Unicode text in posts is not read by LinkedIn's search and is announced poorly by screen readers, so keep it to a short headline or one emphasized phrase β€” never style keywords, names, or hashtags you want found or read aloud.

Why does *bold* work in WhatsApp but show literal asterisks on Instagram?

Because WhatsApp natively parses that markup and Instagram doesn't. WhatsApp reads `*text*` as a formatting instruction and renders it bold β€” it also does `_italic_`, `~strikethrough~`, and triple-backtick monospace β€” hiding the symbols on display. Instagram's caption, bio, and comment fields are plain text with no formatting engine at all, so it keeps every asterisk as a literal character: `*hello*` stays `*hello*`. To get bold or italic on Instagram you can't use markup; you have to paste Unicode styled characters (𝗯𝗼𝗹𝗱, π˜ͺ𝘡𝘒𝘭π˜ͺ𝘀) where the style is part of the letter itself. This same split explains most cross-app confusion: chat apps like WhatsApp, Telegram, and Discord parse typed symbols, while public feeds like Instagram, X/Twitter, Threads, TikTok, and Facebook are plain-text boxes that need the Unicode workaround.

Why is Slack bold a single asterisk but Discord bold a double asterisk?

The two apps simply chose different native syntaxes. Slack uses single asterisks β€” `*bold*` β€” plus `_italic_`, `~strikethrough~`, and backticks for `code`; typing `**bold**` in Slack shows literal asterisks or leaves an extra one inside the bold. Discord follows standard Markdown with double asterisks β€” `**bold**` β€” plus `*italic*`, `__underline__`, `~~strikethrough~~`, and backticks for `code`. Slack also offers a WYSIWYG toolbar (the Aa icon) so you can select text and click B instead of typing symbols, while Discord renders its markdown live as you type. Mixing the two conventions β€” using Discord's `**bold**` in Slack, or Slack's `*bold*` expecting Discord β€” is the single most common cross-platform formatting mistake, so check whether the app wants one symbol or two before you post.

How do I format text on YouTube comments and descriptions?

YouTube has limited but real native markup that works in both comments and video descriptions. Wrap text in asterisks for `*bold*`, underscores for `_italic_`, and hyphens for `-strikethrough-`; the symbols are hidden and the styling renders for everyone. Two gotchas decide whether it works. First, put a space (or line start) between the formatted text and any adjacent punctuation β€” markup touching a comma or period often fails to render. Second, strikethrough won't work around numerals: `-2024-` reads the hyphen as a minus sign, so it stays literal. There is no native bullet list, inline code, or heading formatting on YouTube, so for those you'd type a β€’ character manually or paste Unicode styled characters. For a standout line or channel flourish the native markup is enough; reserve pasted Unicode for emphasis the markup can't produce.

Is Unicode 'fancy text' bad for accessibility and SEO?

It can be, so use it sparingly and deliberately. Unicode styled letters (𝗯𝗼𝗹𝗱, π˜ͺ𝘡𝘒𝘭π˜ͺ𝘀, 𝓼𝓬𝓻𝓲𝓹𝓽) are distinct code points from normal letters β€” a Unicode bold 'A' is a different character than a regular 'A'. That substitution is exactly why screen readers often read these strings as gibberish, skip them, or announce each symbol by its formal name ('mathematical bold small a'), which is a real barrier for visually impaired readers. The same swap can break hashtag matching, in-app search, and how usernames are indexed, because the platform no longer sees ordinary letters. The safe rule: use Unicode for short emphasis only β€” a standout display name, one punchy line, a profile flourish β€” and never for body copy, calls-to-action, links, or anything that must be searched, clicked, or read aloud. Where a platform offers native formatting, prefer it; native text stays accessible and searchable.

Which platforms format text natively versus needing the Unicode workaround?

Native formatting (a toolbar or markup the app actually parses): WhatsApp, Telegram, Discord, Slack, Reddit, YouTube comments and descriptions, and LinkedIn's 'Write article' editor. In these you type symbols like `*bold*` or click a B button and the app renders genuine styled text that stays accessible and searchable. Unicode workaround (plain-text boxes with no formatting feature at all): Instagram, X/Twitter, Threads, TikTok, Facebook, and LinkedIn's posts and comments. In these the only way to show bold or italic is to paste Unicode styled characters whose style is baked into the letter. The rule of thumb: chat and community apps tend to format natively, while public social feeds tend to be plain text where pasted Unicode is your only option. When an app is native, always prefer it β€” it renders consistently, survives in-app search, and is read correctly by assistive technology.

The sub-questions readers ask next β€” answered, with where to go.

LinkedIn's post box β€” used for feed posts, comments, your headline and your About section β€” is plain text with no formatting toolbar and no markdown, so there's no bold button. The workaround the whole creator economy uses is Unicode bold: type your line, convert it to bold Unicode characters (𝗯𝗼𝗹𝗱) in a generator, then paste it back and the emphasis sticks, because the style is baked into the characters themselves. Bold only the hook β€” the part that shows before the β€œβ€¦see more” cut-off β€” to earn the click, and keep the rest plain so the post stays skimmable. Two caveats matter: Unicode text isn't read by LinkedIn's search and is announced poorly by screen readers, so never bold the keywords, names or hashtags you want found or read aloud. For true rich text (headings, lists), use LinkedIn's separate 'Write article' editor instead.

Format a LinkedIn post

Instagram's native composer collapses the line breaks you type, which is why captions paste in as one dense block β€” it's worst when you post from the web or through some schedulers. The reliable fix is to compose the caption with the spacing you want and paste it back with the breaks preserved, rather than relying on invisible-character hacks (blank Unicode characters can break Instagram's search and are read poorly by screen readers). Write the caption with your intended breaks, generate the spaced version, and paste it into the caption field. Put your strongest hook on line one, since that's the part that shows before the 'more' cut-off in the feed. Keep paragraphs short β€” two or three lines β€” so the caption stays skimmable on a phone, where almost everyone reads it.

Open the line-break tool

Yes β€” WhatsApp is the exception among messaging and social apps because it has its own built-in markup that it renders for everyone. Wrap text in *asterisks* for bold, _underscores_ for italic, ~tildes~ for strikethrough, and triple backticks for monospace; the symbols disappear and the styling shows. So you usually don't need Unicode characters on WhatsApp at all. Reach for a Unicode formatter only when you want a style WhatsApp's markdown doesn't cover β€” small caps or script for a Status, say β€” or when you're writing one message to post across several apps that don't share WhatsApp's syntax (Instagram, X and Threads strip these symbols and show them literally). For everyday bold and italic inside WhatsApp itself, the native markup is the better and more accessible choice.

Format for WhatsApp

Because that editor is plain text and strips anything it doesn't parse. Markdown (*bold*), HTML tags and rich-text styling only render where the platform explicitly supports them β€” paste them into Instagram, X/Twitter or a LinkedIn post and you see the raw asterisks, or nothing at all, because those boxes have no formatting engine. Unicode styling works differently: the bold or italic look is baked into each character (a Unicode bold 'A' is its own code point), so it survives any plain-text field and travels with a copy-paste. That's the whole reason Unicode 'fancy text' formatters exist. The trade-off is accessibility β€” because they aren't ordinary letters, screen readers can mis-read them and in-app search may not match them β€” so use Unicode for short emphasis, not for body copy or anything that must be searchable.

Generate paste-proof styles

Explore the topic cluster

More formatting guides and tools across the platforms.