Skip to ContentKevin Newcombe

The problem with italic text generators


I come across posts like this regularly when scrolling through social media.

Screenshot of a LinkedIn post using mathematical symbols in place of bold text.

When you open up a tool like Google Docs, you have the option to select text and give it formatting like bold or italic. LinkedIn, X, and others don’t do that, they only support plain text. There is, however, a commonly used workaround.

How HTML handles italics

When we italicize something in HTML, we wrap it in an emphasis tag (em) like so

I play <em>Wordle</em> every morning. 

That tells the web browser basically “use the italic version of the default font when writing ‘Wordle.’” A screen reader will announce that sentence as “I play Wordle every morning.”

How text replacement tools work

Do a search for “italic text generator” and you’ll find plenty of tools that claim to italicize, bold, and/or underline your text for you. Under the hood, they’re not changing the font, but replacing each letter with a mathematical symbol. From the Unicode standard

Mathematical notation requires a number of Latin and Greek alphabets that initially appear to be mere font variations of one another... However, in any given document, these characters have distinct, and usually unrelated, mathematical semantics. For example, a normal H represents a different variable from a bold H, and so on. If these attributes are dropped in plain text, the distinctions are lost and the meaning of the text is altered.

Why they're bad

When we replace words with mathematical symbols, we lose the actual meaning of the original text. Just like how the $ symbol might visually resemble an uppercase S, the two have totally different meanings. The same goes with using a collection of mathematical symbols next to each other in place of an actual word. The Unicode Standard goes on to further state these “are intended for use only in mathematical or technical notation, and not in nontechnical text.“

One major impact this practice has is on screen readers. Let’s use one of these tools to take the phrase “Join us for a free webinar” and replace the word “free” with it’s sans serif bold italic equivalent, then have 3 commonly used screenreaders read it aloud. 

Visually, it appears like this

Screenshot of a block of text saying 'Join us for a free webinar.' with 'free' appearing italicized.

Here’s how VoiceOver pronounces it

Transcript: “Join us for a webinar”

Here’s NVDA

Transcript: “Join us for a webinar”

Here’s JAWS

Transcript: “Join us for a sans serif bold italic small ‘f’ sans serif bold italic small ‘r’ sans serif bold italic small ‘e’ sans serif bold italic small ‘e’ webinar webinar.“

TL;DR

Stay away from any "Bold and italic text generators" as those often produce inaccessible text.