Engineering 11 min read

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.

Artyom Shimanski – Entrepreneur & Software Developer

Artyom Shimanski

Entrepreneur & Software Developer

Published

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
  1. 01 Why there's no bold button
  2. 02 The Unicode trick
  3. 03 A field guide to the styles
  4. 04 The trade-offs
  5. 05 Why I built Post Formatter
  6. 06 Formatting that earns the read

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:

  1. 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.
  2. Keep identity and plumbing plain. Names, headlines, hashtags, mentions, links: search and tagging machinery has to be able to read them.
  3. 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.
  4. 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.
  5. 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.

  1. 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.
  2. Unicode Technical Report #25: Unicode Support for Mathematics: documents that these alphabets exist to keep meaning distinctions in mathematical notation, not to style prose.
  3. 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.

Frequently asked questions

Is Unicode bold text against LinkedIn's rules?
No. Styled text is made of ordinary Unicode characters, the same kind your keyboard produces, so there is nothing to detect or forbid, and LinkedIn renders them like any other text. Nothing in the user agreement prohibits them. The real constraints are readability and accessibility, not policy.
Will bold or fancy fonts hurt my LinkedIn reach?
There is no published evidence that LinkedIn penalizes Unicode styling as such. What demonstrably hurts reach is a post people stop reading: fully-styled walls of text get skimmed past, and lower engagement means fewer impressions. A handful of bolded phrases that make a post easier to scan tends to help, not hurt.
Why does styled text show up as empty boxes for some readers?
An empty box (□, called “tofu”) means the reader’s device has no font containing that character. Every current OS ships fonts that cover the mathematical alphabets, but very old Android versions and unpatched legacy systems may not. If your audience skews technical or recent-hardware, it is a non-issue; if it skews conservative-IT corporate, style less.
Does Unicode formatting work in LinkedIn comments, headlines and messages?
Yes. Because the styling is baked into the characters, it works anywhere text is accepted: comments, messages, your About section, even your headline. I would still keep your name and headline plain: LinkedIn’s search matches the literal characters, so a stylized job title simply does not match what a recruiter types into the search box.
Is Post Formatter free?
The core is free forever: install it, select text, apply bold, italic and 30+ styles with no account. A Pro tier (from $2.42/month billed yearly) unlocks the power tools: AI proofreading and auto-styling, advanced drafts with folders and tags, and more.
Does a text formatter see what I write?
It depends on the formatter. Web-based converters process your text on their page, and some extensions phone home. Post Formatter converts everything locally in your browser: your text is never sent to a server and there is no account. The one exception is explicit: the optional AI proofread sends your draft to the AI provider you configure with your own API key, only when you invoke it.
Share this article LinkedIn X

Building something? Let's talk.

Behind me are 15+ years of software engineering and three years of shipping my own products. I'm always happy to hear about new products and collaborations.