• 5 min read

Formatting text on sites that don't let you

Table of Contents

๐”˜๐ง๐—‚๐’ข๐‘™๐—’๐•กh๐šœ is a browser extension that lets you format text directly on sites like Facebook, X (formerly Twitter), LinkedIn, and many more. Just highlight some text, and an inline toolbar appears so you can format it without leaving the page. Thereโ€™s also a full-page editor and a popup version if you want more room to work.

Instead of relying on platform-specific formatting, UniGlyphs converts text into Unicode characters that resemble styles like bold, italic, or ๐”ค๐”ฌ๐”ฑ๐”ฅ๐”ฆ๐” . Since theyโ€™re actual Unicode characters rather than HTML formatting, the styling stays intact wherever the text is pasted.

Why I built it

I first noticed people posting formatted text on platforms that donโ€™t officially support formatting, especially Facebook, Messenger, and LinkedIn.

When I started using LinkedIn more often, I wanted to do the same thing. I was surprised that there was still no built-in way to make text bold or italic, even though I kept seeing posts that somehow managed to do it.

After looking around, I realized almost every solution was the same: open a website, paste your text, generate Unicode characters, copy everything back, then return to whatever site you were writing on.

The formatting itself wasnโ€™t the problem. The workflow was.

UniGlyphs started as my final project for Harvardโ€™s CS50x1 , but I wanted it to solve an annoyance I actually had. Instead of another Unicode generator website, I built the tool I wished existed.

How it turned out

Inline formatting toolbar

The main feature is an inline toolbar that appears while editing text.

Instead of switching tabs to generate formatted text, users can apply formatting without leaving the page. The selected text is replaced immediately, making the experience feel much closer to a native rich text editor.

Multiple editing modes

Not every website behaves the same way.

Besides the inline toolbar, UniGlyphs also provides a popup editor and a full-page editor for situations where users want more space to write before copying their text elsewhere.

Unicode-based formatting

Rather than injecting HTML or relying on platform support, UniGlyphs converts characters into their Unicode equivalents.

That means formatting works almost anywhere text can be pasted, including sites that normally strip HTML formatting.

Supported styles include:

  • Bold
  • Italic
  • Underlined text
  • Monospace
  • ๐’ฎ๐’ธ๐“‡๐’พ๐“…๐“‰
  • ๐”Š๐”ฌ๐”ฑ๐”ฅ๐”ฆ๐” 
  • ๐Ÿ„ฒ๐Ÿ„ธ๐Ÿ…๐Ÿ„ฒ๐Ÿ„ป๐Ÿ„ด๐Ÿ„ณ
  • and many more

How I built it

Technologies I used

Web Next.js, React, Vercel
Extension WXT
Styling Tailwind CSS, shadcn/ui
Monorepo Turborepo

Building the browser extension turned out to be much harder than I expected.

Unlike a normal web application where you control the entire page, an extension has to coexist with whatever website itโ€™s running on. Every platform has its own DOM structure, CSS, and input behavior, so even something as simple as showing a toolbar consistently becomes surprisingly tricky.

One challenge was injecting the toolbar without interfering with the host page. I also had to make sure the extension behaved consistently across different types of editable fields instead of assuming every website worked the same way.

The formatting engine itself is relatively straightforward. Each style maps ordinary characters to their Unicode equivalents before replacing the selected text. Since not every Unicode style supports every character, the extension also surfaces this limitation so users know when some letters canโ€™t be transformed.

What I learned

This project showed me how different browser extensions are from traditional web applications.

With a normal website, you own the environment. With an extension, youโ€™re building on top of someone elseโ€™s. Every website has different assumptions, different HTML structures, and different edge cases that you have no control over.

It also reinforced something Iโ€™ve noticed across many of my projects: I enjoy building tools that fit naturally into existing workflows instead of forcing people to change them.

Unicode text generators already existed. The interesting problem was making the experience feel like formatting was built into the websites themselves.

Even though UniGlyphs only has a small number of users today, itโ€™s a project Iโ€™m still proud of because it solved a problem I genuinely had while pushing me into a platform I had never worked with before.


Footnotes

  1. Harvardโ€™s Introduction to Computer Science (CS50x) was one of the first online CS courses I completed. This project served as my final capstone. โ†ฉ