CopyFont

Fancy text that actually works where you paste it

Browse all styles

Cursive Text Generator

Cursive gives you looping script letterforms that you can copy straight into a bio or a caption. These are Unicode script characters rather than a handwriting font, which is what lets them travel between apps.

Type your text

ℋℯ𝓁𝓁ℴ 𝓌ℴ𝓇𝓁𝒹

Script and decorative

𝓗𝓮𝓵𝓵𝓸 𝔀𝓸𝓻𝓵𝓭
ℌ𝔢𝔩𝔩𝔬 𝔴𝔬𝔯𝔩𝔡
𝕳𝖊𝖑𝖑𝖔 𝖜𝖔𝖗𝖑𝖉
ℍ𝕖𝕝𝕝𝕠 𝕨𝕠𝕣𝕝𝕕

Enclosed

Ⓗⓔⓛⓛⓞ ⓦⓞⓡⓛⓓ
🅗🅔🅛🅛🅞 🅦🅞🅡🅛🅓
🄷🄴🄻🄻🄾 🅆🄾🅁🄻🄳
🅷🅴🅻🅻🅾 🆆🅾🆁🅻🅳
🄗⒠⒧⒧⒪ ⒲⒪⒭⒧⒟
🇭🇪🇱🇱🇴 🇼🇴🇷🇱🇩

Aesthetic

Hello world
ʜᴇʟʟᴏ ᴡᴏʀʟᴅ
ᴴᵉˡˡᵒ ʷᵒʳˡᵈ
Hₑₗₗₒ wₒᵣₗd

Fun

plɹoʍ ollǝH
blɿow ollɘH
H͖͓̫͓͓̀̀̐e̢̛͇̞̙͛̃̑l̨͈͈̠͍͗͗̍l͔̥̜̥͌̏̐͆ơ̪͉̜̽̄̾̕ w͍̱͓̋͐͌͆ͅò͈͓͖̉̏́ͅr͕̺̖̭̔̋͆͆l͕͍̦̰̪͗̐̿d̢͙͇͎̳̿̑͊
keeps real letters
H̖̀e͉̐l̫̀l͓͐o̜͛ w̙̑o̞̎r̢̃l͙͗d̩̍
keeps real letters

Formatting

𝐇𝐞𝐥𝐥𝐨 𝐰𝐨𝐫𝐥𝐝
𝐻𝑒𝑙𝑙𝑜 𝑤𝑜𝑟𝑙𝑑
𝑯𝒆𝒍𝒍𝒐 𝒘𝒐𝒓𝒍𝒅
𝗛𝗲𝗹𝗹𝗼 𝘄𝗼𝗿𝗹𝗱
𝖧𝖾𝗅𝗅𝗈 𝗐𝗈𝗋𝗅𝖽
𝙷𝚎𝚕𝚕𝚘 𝚠𝚘𝚛𝚕𝚍
H̶e̶l̶l̶o̶ w̶o̶r̶l̶d̶
keeps real letters
H̲e̲l̲l̲o̲ w̲o̲r̲l̲d̲
keeps real letters
H̅e̅l̅l̅o̅ w̅o̅r̅l̅d̅
keeps real letters
H̸e̸l̸l̸o̸ w̸o̸r̸l̸d̸
keeps real letters

Where this style works

Where you paste itResult
Instagram Works
TikTok Works
Discord Works
WhatsApp Works
X (Twitter) Works
Facebook Works

What it converts

  • A to ZAll of them
  • a to zAll of them
  • 0 to 9Not converted

Screen readers and search

This style swaps the letters for different characters, so a screen reader reads out character names instead of your word, and the text stops matching a search.

Usernames are different

Every style here works in a bio, caption, message or status. None of them work in an @username or handle: those fields are checked against a short list of plain characters and anything else is refused. That is the field rejecting the characters, not the generator failing.

How it works

Each letter is exchanged for its script counterpart in Unicode. The mapping is not a simple arithmetic shift, because the standard has holes in this range: several script letters had already been encoded years earlier as letterlike symbols, and Unicode refused to encode them a second time. Script capital H is one of these, so it comes from a different position entirely. Eleven such gaps exist in the script alphabet and the generator patches every one of them, which is why you never see an empty box in the output.

Letters convert in both cases. Digits do not, because there is no script numeral set in Unicode, so any number in your line comes back as an ordinary figure. Punctuation and spaces are unaffected. Coverage aside, the letterforms are decorative and closely looped, which makes long passages hard to read at small sizes even for people with no accessibility needs at all.

Two honest limits. First, the standard says this block is intended for mathematical notation and specifically not for styling ordinary text, so you are using it against its stated purpose. That is a choice you can make knowingly. Second, this is not a font file. If you want cursive lettering for a tattoo, a print job or a logo, a designer needs an actual typeface or artwork, not a string of characters that will render differently on every device. Copy and paste script belongs in bios, captions, messages and display names.

Frequently asked questions

Quick answers to what people ask us most

Can I use this for a tattoo design?

Not really. This is a set of characters, and how they look depends entirely on the device drawing them. A tattoo artist or printer needs a genuine typeface or a drawn design, so use this as inspiration rather than artwork.

Do numbers become cursive?

No. Unicode has no script digits, so numerals stay as normal figures. Only letters convert.

Why does the capital H look different in style from the others?

Because it is a different character. Several script capitals were encoded long ago as letterlike symbols and were never duplicated, so they come from an older part of the standard and may be drawn in a slightly different style.

Does it work in an Instagram bio?

Yes, and in captions, comments and story text. The username field will reject it, since usernames only accept lowercase letters, numbers, full stops and underscores.