How LinkedIn Text Formatting Really Works (It's Not a Font)
Every “LinkedIn font” you've ever seen is the same trick wearing a different hat: Unicode characters that merely look bold or italic. After building a formatter myself, here is exactly how the trick works, what it costs you in accessibility and search, and the formatting rules I actually follow.
The short version
LinkedIn's post composer has no bold button: posts and comments are plain text. Every formatted post you have ever seen swaps its letters for Unicode characters, mostly from the Mathematical Alphanumeric Symbols block, that merely look bold or italic. They are real characters, not styling. That is why they survive copy-paste anywhere, and why they carry real trade-offs for screen readers and search. Style a few words, never whole paragraphs.
- LinkedIn posts, comments and messages accept no native rich text. Only articles and newsletters have a real formatting toolbar.
- “Bold” text is actually different characters: 𝗯𝗼𝗹𝗱 is four code points from a Unicode alphabet designed for mathematicians.
- Styled words are clumsy for screen readers and unreliable in search, because they don't match what people type into a search box.
- There is no evidence the algorithm punishes Unicode styling itself; unreadable posts punish themselves.
Contents
A few years of writing LinkedIn posts taught me a dance I never signed up for: draft the post, open a “font generator” site in another tab, paste the hook, copy the 𝗯𝗼𝗹𝗱 version, paste it back, discover the converter ate my line breaks, fix them by hand, repeat for every phrase I wanted to emphasize. Eventually I did what engineers do with an annoying dance. I automated it and built Post Formatter, a Chrome extension that formats text directly inside the composer.
This article is not the pitch. It is the explanation I wish someone had written before I started: what LinkedIn “fonts” actually are at the character level, why the trick works everywhere from posts to comments to your headline, and the trade-offs in accessibility, search and reach that the font-generator sites never put on the landing page. I have spent an unhealthy amount of my life in Unicode code charts (I even built browser games out of Unicode characters), so consider this the builder's tour.
Why LinkedIn gives you no bold button #
The LinkedIn post composer is a plain text field. So are comments, direct messages, your headline, and your About section. None of them store or render rich text: no bold, no italic, no headings. The only places LinkedIn gives you a real formatting toolbar are articles and newsletters, which live in a separate editor with separate storage.
That is a product decision, not an oversight. A feed where every post can shout in its own typography turns into a bazaar; keeping posts plain keeps the feed uniform, keeps rendering predictable across web, iOS and Android, and keeps the data model simple. X, Facebook, Threads and Bluesky made the same call for the same reasons.
And yet your feed is full of bold hooks and italic asides. Every one of them, without exception, uses the same workaround.
The Unicode trick every formatter uses #
Unicode, the character standard behind all modern text, catalogues more than 150,000 characters. Buried among them is a block called Mathematical Alphanumeric Symbols (U+1D400 through U+1D7FF): thirteen complete Latin alphabets in bold, italic, script, fraktur, double-struck, monospace, sans-serif and their combinations, plus Greek letters and digits.
They were never meant for social media. Mathematicians need the distinction between E the variable, 𝐄 the vector, and 𝔼 the expected value to survive in plain text, so Unicode encoded each styled letter as its own character. The goal was styling that survives with no markup at all, and that is exactly what a plain-text social network accidentally rewards.
A “LinkedIn font generator” is therefore not a font at all. It is a lookup table. It walks through your text and swaps each letter for its styled twin:
| You type | You get | Code point | Official Unicode name |
|---|---|---|---|
| A | A | U+0041 | Latin Capital Letter A |
| A | 𝐀 | U+1D400 | Mathematical Bold Capital A |
| A | 𝗔 | U+1D5D4 | Mathematical Sans-Serif Bold Capital A |
| A | 𝘈 | U+1D608 | Mathematical Sans-Serif Italic Capital A |
Because the result is ordinary characters rather than styling, it goes anywhere text goes: the composer, comments, push notifications, page titles, a text message. Copy a bold hook out of LinkedIn and paste it into Notepad. It stays bold, because the boldness is the characters.
Building a converter properly is more interesting than it looks, and the details are a quick way to judge any tool you are about to trust:
- These characters live in Unicode's “astral planes”, the code points above
U+FFFF. In JavaScript that means each one occupies two UTF-16 units:
'𝗔'.length === 2. A converter written with naive per-unit string operations corrupts them into garbage; a correct one iterates by code point. - The alphabets have holes. The serif-italic h slot (U+1D455) is empty, because ℎ already existed at U+210E as the Planck constant, encoded years before the math block. Double-struck ℂ, ℍ, ℕ, ℙ, ℚ, ℝ and ℤ likewise live in an older block. A lazy converter maps into the holes and produces missing letters. My favorite smoke test for any formatter: convert the word hello to serif italic and check whether the h survived.
- Strikethrough and underline are a different trick entirely. There are no struck-through alphabets. Tools interleave combining characters, U+0336 (long stroke overlay) or U+0332 (combining low line), after every letter, and the renderer draws them on top. That is also why s̶t̶r̶i̶k̶e̶t̶h̶r̶o̶u̶g̶h̶ renders more raggedly than bold: it depends on each platform's font stacking the marks correctly.
A field guide to the styles #
Not all styles are equal citizens. Some blend into the feed as if LinkedIn supported them natively; some are costumes. Here is the honest inventory:
| Style | Sample | Where it comes from | What it's good for |
|---|---|---|---|
| Sans-serif bold | 𝗧𝗵𝗲 𝘄𝗼𝗿𝗸𝗵𝗼𝗿𝘀𝗲 | Math alphanumerics | Hooks and signposts. It matches LinkedIn's own UI font, so it reads as “native” bold. |
| Sans-serif italic | 𝘈𝘯 𝘢𝘴𝘪𝘥𝘦 | Math alphanumerics | Asides, titles of works, a change of voice. |
| Serif bold | 𝐎𝐥𝐝 𝐩𝐫𝐞𝐬𝐬 | Math alphanumerics | Clashes with the feed's sans-serif. Skip it on LinkedIn. |
| Monospace | 𝚕𝚒𝚔𝚎 𝚌𝚘𝚍𝚎 | Math alphanumerics | Technical flavor: commands, numbers, an “engineer voice” accent. |
| Script | 𝓈𝒾𝑔𝓃𝒶𝓉𝓊𝓇𝑒 | Math alphanumerics | Decoration only; genuinely hard to read in a feed. |
| Double-struck | 𝕓𝕣𝕒𝕟𝕕 𝕗𝕝𝕒𝕚𝕣 | Math + Letterlike Symbols | Novelty; one word as a visual signature, never a sentence. |
| Small caps | ꜱᴍᴀʟʟ ᴄᴀᴘꜱ | Phonetic alphabets | Quiet emphasis, though there is no reliable small-cap q, so mind your vocabulary. |
| Bubble / square | ⓑⓤⓑⓑⓛⓔ | Enclosed Alphanumerics | Playful lists and numbering; heavy in long runs. |
| Fullwidth | wide | CJK compatibility block | The “vaporwave” look; an aesthetic choice, not an emphasis tool. |
If you remember one row, make it the first: sans-serif bold is the only style that disappears into LinkedIn's own typography. Everything else announces itself as a trick, which is sometimes exactly what you want, and usually not.
The trade-offs nobody puts on the landing page #
I sell a formatter, so believe me when I say the incentives run the other way: these are the costs, and they are real.
Screen readers spell out the trick
To assistive technology, 𝗕𝗶𝗴 𝗻𝗲𝘄𝘀 is not “big news” in bold. It is eight mathematical symbols. Depending on the screen reader and voice, that renders as a per-character lecture (“mathematical sans-serif bold capital B…”), as silence, or as a mix of both. Accessibility consultant Adrian Roselli has published recordings of VoiceOver, NVDA and JAWS doing exactly this, and they are sobering. You can hear it yourself in two minutes: select a styled post and turn on VoiceOver.
The practical rule I follow: emphasis must be disposable. If a post still makes complete sense with every styled word removed, a listener loses flavor but not meaning. If your styled words carry the argument, you have excluded part of your audience from the argument.
Search doesn't see what you see
Search boxes match characters, and 𝗴𝗿𝗼𝘄𝘁𝗵 is five different characters from growth. LinkedIn's own search will not reliably connect the two. Some engines apply compatibility normalization that folds math letters back to plain ones, but you should not bet your findability on it. The rule falls out directly: never style your name, your headline, hashtags, @-mentions, or links. A stylized hashtag is a broken hashtag; a stylized headline is invisible to the recruiter who searches for what it says.
Old devices see tofu
A character a device has no glyph for renders as an empty box, the infamous “tofu” (□). Every current OS covers the math alphabets, but decade-old Android builds and frozen corporate desktops may not. Know your audience; if it includes them, style less.
Styled letters cost double
Characters above U+FFFF occupy two UTF-16 units, and platforms that count length that way charge you accordingly. X documents that most of them cost two of your 280. Against LinkedIn's 3,000-character post budget it rarely matters, but if you write to the limit, a heavily styled post runs out of room faster than it looks like it should.
The algorithm probably doesn't care, but readers do
I have found no credible evidence that LinkedIn downranks Unicode styling as such, and plenty of heavily formatted posts perform well. What is well established is that readers skip what is hard to read, and the feed's ranking amplifies whatever holds attention. A wall of fraktur punishes itself; the algorithm just delivers the verdict.
Why I built Post Formatter anyway #
Knowing all of the above, I still bold my hooks. Used with restraint, styling is one of the few levers you have in a plain-text feed, and the difference between a scanned post and a skipped one is often a single well-placed phrase. What I refused to keep doing was the copy-paste dance through converter sites that mangle line breaks and show you nothing about how the post will land.
So Post Formatter works the way formatting should have worked all along: select text inside the composer, a small toolbar appears, press B (or just hit Ctrl+B) and the selection becomes 𝗯𝗼𝗹𝗱 in place. It works on LinkedIn, X, Facebook, Threads, Bluesky, YouTube and Pinterest, and everything in this article is baked into how it behaves:
- The engine is code-point-aware. It maps around the holes (the ℎ, the ℂ, all of them), handles combining marks for strikethrough and underline, and never corrupts astral characters. It passes its own smoke test.
- It nudges toward word-level emphasis. You style a selection, not the whole post. The design assumes seasoning, not wallpaper.
- A live preview shows the post as LinkedIn will render it, dark mode included, with the “…see more” fold where it will actually fall, because the first lines decide the click.
- Smart paste converts real formatting. Paste from Google Docs, Word or Notion and genuine bold becomes Unicode bold, real lists become bullet lists, and your line breaks survive.
- A per-platform character counter tracks the budget for you, including the double-cost gotcha above.
- Everything runs locally. No account, no server round-trip; your text never leaves the browser. The one deliberate exception: the optional AI proofread sends your draft to the model you configure with your own API key, only when you ask it to.
The core is free forever and lives on the Chrome Web Store. If you want to try the mechanics without installing anything, the same engine powers a free web-based LinkedIn text formatter.
Formatting that earns the read #
Tools aside, these are the rules I follow after a few hundred posts, mine and the ones I studied while building for people who write daily:
- Bold the skeleton, not the muscle. The hook plus three or four signposts. The test: read only the bold words. If they form the post's outline, you did it right; if they form most of the post, start over.
- Keep identity and plumbing plain. Names, headlines, hashtags, mentions, links: search and tagging machinery has to be able to read them.
- Prefer structure to decoration. Short paragraphs, deliberate line breaks and honest bullet points do more for a post than any alphabet swap. If you only ever learn the basics, learn how to bold text on LinkedIn properly and stop there.
- Check the fold on a phone. Mobile shows roughly your first three lines before “…see more”. The hook lives or dies there. Preview it as a reader, not as the author.
- One style per post. Sans-serif bold, maybe italic for one aside. The moment a post mixes script, fraktur and bubbles, it reads as a costume party, and the reader leaves.
If you want the deeper end of this, from length limits and list styles to what hurts reach and what is myth, I keep the full LinkedIn post formatting guide on the product site current as LinkedIn changes.
The trick itself is thirty years of Unicode history being bent to a purpose it was never designed for, and I find that delightful. But the principle that outlives every trick is older still: formatting exists to serve the reader. Emphasis that helps them scan earns the read; emphasis that decorates you costs it.
Sources #
The factual claims above were checked against primary documentation rather than against other articles. Here is where each one comes from, so you can verify it yourself.
- Unicode 16.0 code chart: Mathematical Alphanumeric Symbols (U+1D400–U+1D7FF): the official chart of the bold, italic, script, fraktur, double-struck and sans-serif alphabets, including the reserved “holes” like U+1D455.
- Unicode Technical Report #25: Unicode Support for Mathematics: documents that these alphabets exist to keep meaning distinctions in mathematical notation, not to style prose.
- Adrian Roselli: Don’t Use Fake Bold or Italic in Social Media: screen-reader recordings of how VoiceOver, NVDA and JAWS actually announce mathematical alphanumeric characters.