CopyFont

Fancy text that actually works where you paste it

About

About CopyFont

A fancy text generator that tells you where its output will and will not work.

These are not fonts

A font is a file. It lives on your device, an app chooses to use it, and the text underneath stays as ordinary letters. Nothing on this site is a font in that sense, and there is nothing to install.

What CopyFont does instead is swap each letter for a different Unicode character that happens to look styled. The bold A is not the letter A in a bold typeface. It is a separate character with its own codepoint, drawn bold by every font that includes it. That is precisely why it survives being pasted into an Instagram bio or a Discord message, where there is no formatting to carry across. The look is in the characters, so it goes wherever they go.

Handles and content fields

The single most common complaint about generators like this one is that the styled text was refused. It almost always comes down to one distinction.

Fields that hold content accept anything: a bio, a caption, a post, a comment, a chat message, a status line. Fields that hold an identity do not. An Instagram or TikTok username, an X handle, a Discord channel name, a Facebook profile name: each of those is validated against a short list of permitted characters, and anything outside the list is stripped or rejected before it can be saved. The generator has not failed. The field has done its job.

The practical rule is to keep the identity plain and style the content. On most platforms there is a display name or nickname sitting right next to the restricted handle, and that one takes styled text. Each platform page here spells out which field is which.

What a screen reader hears

Styled text has a real accessibility cost, and it is not the same cost for every style. There are two classes.

Replaced styles swap each letter for a different character. Bold, italic, cursive, gothic, outline, the enclosed styles and fullwidth vaporwave all work this way. A screen reader announces them by their character names, so a bold A is read as mathematical bold capital A, letter by letter, and a whole bio in one of these styles becomes unlistenable. The plain letters are gone, so a text search or a browser find will no longer match the word either.

Marked styles leave the ordinary letters in place and add a combining mark on top of each one. Strikethrough, underline, overline, slashed and glitch work this way. A screen reader still reads the underlying word, and a search still matches it. The trade is rendering: combining marks sit differently in different apps, which is why several platforms handle them badly.

Every style page states which class it belongs to. The short version: style the decoration, not the words you need people to read or find.

What Unicode says about it

Worth stating plainly, because no other generator does. The Unicode core specification says the Mathematical Alphanumeric Symbols block, which supplies most of the styles here, should not be used to represent the styling of nonmathematical text, and that it is intended for mathematical and technical notation.

That is the standard describing its own intent, not a rule anyone enforces, and hundreds of millions of bios use these characters anyway. We are not going to pretend otherwise. What we can do is be straight about the consequences, which is what the coverage table and the accessibility verdict on each style page are for.

The block also has holes. Some letters had already been encoded as letterlike symbols, so Unicode declined to encode them a second time and left their slots unassigned. A generator that adds a fixed offset to each letter walks straight into those gaps and emits a codepoint that does not exist, which is why so many pasted results contain empty boxes. Every gap is patched here, and no style emits an unassigned codepoint.

Contact

CopyFont is free, runs entirely in your browser and stores nothing you type. The conversion happens on your own device, so no text is ever sent to a server.

Corrections are welcome, particularly on platform behaviour, which changes without notice. If a style stopped working somewhere, or started working where we say it does not, write to [email protected] and we will test it and update the page.