Cursive Text Generator
Type once and copy your words in six cursive and italic styles, from ๐ฎ๐ธ๐๐พ๐ ๐ and ๐๐ธ๐ต๐ญ ๐ผ๐ฌ๐ป๐ฒ๐น๐ฝ to ๐ด๐ข๐ฏ๐ด ๐ช๐ต๐ข๐ญ๐ช๐ค. Paste fancy text in instead and you get the plain letters back.
On X this counts as 23 of 280 characters; the plain text would be 12.
Fine-tune
- ScriptLight copperplate; 11 letters from an older block
โโด๐โฏ๐๐ ๐โด๐โฏ๐
- Bold scriptHeavier, complete AโZ and aโz
๐๐ธ๐ฟ๐ฎ๐ต๐ ๐ท๐ธ๐ฝ๐ฎ๐ผ
- Bold capitalsBold script capitals, light small letters
๐โด๐โฏ๐๐ ๐โด๐โฏ๐
- ItalicSlanted serif, not joined; h is โ
๐ฟ๐๐ฃ๐๐๐ฆ ๐๐๐ก๐๐
- Bold italicSlanted bold serif
๐ณ๐๐๐๐๐ ๐๐๐๐๐
- Sans italicSlanted, no serifs; blends with app text
๐๐ฐ๐ท๐ฆ๐ญ๐บ ๐ฏ๐ฐ๐ต๐ฆ๐ด
Six styles, and which ones are really script
Copy-and-paste cursive is not a font. Every letter is swapped for a different Unicode character from the Mathematical Alphanumeric Symbols block, which was added in Unicode 3.1 in 2001 so that equations could tell a script ๐ from a bold ๐ and a plain A. Because each one is its own character, the look survives being pasted into a bio or caption where you cannot choose a font.
Unicode only has two true script alphabets, light and bold. The other rows are italics: slanted letters rather than handwriting, but they are what many people mean by โcursiveโ, and they read more easily in long lines.
| Style | Sample | Letters | Digits | Code points |
|---|---|---|---|---|
| Script | ๐๐ท๐ธ | AโZ, aโz (11 from Letterlike Symbols) | none | U+1D49Cโ1D4CF + 11 in U+210Aโ2134 |
| Bold script | ๐๐ซ๐ฌ | AโZ, aโz, complete | ๐โฆ๐ (upright bold) | U+1D4D0โ1D503 |
| Bold capitals | ๐๐ท๐ธ | bold script AโZ with script aโz | none | mix of the two above |
| Italic | ๐ด๐๐ | AโZ, aโz (h is โ U+210E) | none | U+1D434โ1D467 |
| Bold italic | ๐จ๐๐ | AโZ, aโz, complete | ๐โฆ๐ (upright bold) | U+1D468โ1D49B |
| Sans italic | ๐๐ฃ๐ค | AโZ, aโz, complete | none | U+1D608โ1D63B |
None of the styles has slanted or script digits, so numbers stay as they are unless you switch on bold digits in Fine-tune. Those are upright, so ๐๐ธ๐ธ๐ด ๐ can look a little stiff next to the script letters. Punctuation, emoji and letters outside A to Z, such as ร or รธ, are also left plain. Accented letters are styled when the accent can be split off as a separate mark, covered in the FAQ below.
Why โฌ, โฐ, โ and โฏ look different
Eleven script letters were already in Unicode before the maths alphabets were added, in the Letterlike Symbols block from 1993, because physics and maths used them on their own. Unicode did not encode them twice. It left gaps in the new alphabet, which the standard itself calls holes, and the older characters fill them.
| Letter | Character | Code point | Traditional use (Unicode names list) |
|---|---|---|---|
| B | โฌ | U+212C | Bernoulli function |
| E | โฐ | U+2130 | emf (electromotive force) |
| F | โฑ | U+2131 | Fourier transform |
| H | โ | U+210B | Hamiltonian operator |
| I | โ | U+2110 | none listed |
| L | โ | U+2112 | Laplace transform |
| M | โณ | U+2133 | M-matrix; pre-war German Mark sign |
| R | โ | U+211B | Riemann integral |
| e | โฏ | U+212F | error; natural exponent |
| g | โ | U+210A | real number symbol |
| o | โด | U+2134 | order, of inferior order to |
Fonts often draw the two blocks differently. A phone may take Letterlike Symbols from its main text font and the maths letters from a separate maths font, so โฏ can sit higher, look thinner or lean at another angle than the ๐ beside it.
Worked example. โGrace Hopperโ in Script is ๐ข๐๐ถ๐ธโฏ โโด๐ ๐ โฏ๐. Four of its eleven letters, both eโs, the H and the o, come from the older block, which is why the name can look uneven. In Bold script, ๐๐ป๐ช๐ฌ๐ฎ ๐๐ธ๐น๐น๐ฎ๐ป, every letter comes from the same alphabet, because the bold set was new in 2001 and has no holes. If Script looks patchy on your screen, Bold script or Bold capitals is the fix. Italic has a single hole, the small h, which is โ, the Planck constant sign.
Why the letters do not join up
School cursive joins each letter to the next. These characters cannot. Each one is a separate symbol drawn by whatever font the app happens to use, and nothing in Unicode tells ๐ช to reach across to ๐ซ. Connected scripts such as Arabic join because fonts and shaping engines have rules for those letters; maths letters are designed to stand alone, the way variables do in an equation.
Joined-up lettering on screen comes from a script font applied to ordinary letters. The font swaps in connected shapes (OpenType contextual alternates) as it draws. That only works where you can pick a font: Word, Canva, a design app or a web page. In CSS there is even a generic cursive family, but it leaves the choice to the browser, which on Windows usually means Comic Sans MS, so name a real script font instead. For a page that looks written by hand, use convert text to handwriting, which draws your words as an image.
Chancery or roundhand capitals
Script capitals come in two traditions. Chancery is the narrower, calligraphic hand with flat pen strokes; roundhand is the looped copperplate style of English writing masters. Mathematicians long treated them as the same letter, but some papers use both with different meanings, so Unicode 14.0 (2021) added a way to ask for one or the other: put the invisible variation selector U+FE00 after a script capital for chancery, or U+FE01 for roundhand. All 26 regular script capitals have both sequences; bold script and small letters have none.
The Script capitals menu in Fine-tune adds the selector for you. Most fonts ignore it, so in a typical app nothing changes; maths fonts are the likeliest to honour it. The selector stays in the text either way and counts towards limits: on X, โ๏ธโด๐ โฏ with a chancery selector counts as 10 rather than 8. Leave the menu on โfont defaultโ unless you know your destination font supports the variants.
How long cursive text really is
Maths letters live outside the Basic Multilingual Plane, so each one takes 4 bytes in UTF-8 and two UTF-16 units, which is what JavaScriptโs length and many form limits count. The Letterlike holes take 3 bytes and one unit, so Script is slightly shorter than the other styles. X weighs characters differently: its counting rules give weight 1 only to a few ranges of common scripts and punctuation, and everything else, including all of these letters, counts as 2.
| Style | Characters you see | UTF-16 units (JS length) | UTF-8 bytes | Counts on X |
|---|---|---|---|---|
| Plain | 12 | 12 | 12 | 12 |
| Script | 12 | 19 | 41 | 23 |
| Bold capitals | 12 | 20 | 42 | 23 |
| Bold script, Italic, Bold italic, Sans italic | 12 | 23 | 45 | 23 |
So a 160-character bio limit measured in UTF-16 units fits only about 80 cursive letters, and a 280-character post on X fits about 140. The status line under the text box shows the X count for the Script row as you type.
Search, screen readers and missing fonts
The Unicode Standard is blunt about this: characters from the Mathematical Alphanumeric Symbols block โshould not be used to represent styling of nonmathematical textโ. Nothing stops you, and for a display name or caption it is mostly harmless, but it is worth knowing what other software does with them.
- Search and matching. Every letter in all six styles has a compatibility mapping to its plain letter, so software that applies NFKC normalisation treats ๐๐ป๐ช๐ฌ๐ฎ as Grace. Software that compares raw characters does not, and a search for โgraceโ can miss it entirely.
- Screen readers. Some read each letter by its Unicode name, such as โmathematical bold script capital Gโ, some spell it out, and some skip it. A cursive post can be unreadable to a blind follower, so keep names, links and anything important in plain letters.
- Missing fonts. Current phones and computers ship a font that covers these letters. Older devices, some smart TVs, game consoles and printers may show empty boxes, and Script may show boxes for some letters but not the eleven older ones.
- Usernames. Handles usually allow only plain letters, digits and a few marks, so cursive works in display names but not in the @name itself.
Turning cursive back into normal letters
Paste cursive into the box and a Plain text row appears above the styles; there is no direction to switch or style to pick. It decodes any maths letter or digit, so bold, Fraktur ๐, double-struck ๐ป and monospace text from other generators come back too, along with the Letterlike holes. It drops chancery and roundhand selectors, and leaves look-alikes that are not letters, such as โข and โ, alone.
Worked example. ๐๐ถ๐ปโฏฬ ๐๐๐๐ is nine characters you can see, but the โฏฬ is two: โฏ (U+212F) followed by a combining acute accent (U+0301). Decoding turns the โฏ into e, recombines it with the accent and gives back โCafรฉ 2026โ with a normal precomposed รฉ, so it matches the original in search and spell-check.
In a spreadsheet or script you can do the same with NFKC normalisation, for example text.normalize('NFKC') in JavaScript or unicodedata.normalize('NFKC', text) in Python. Be aware that NFKC also rewrites other things, such as ๏ฌ to fi, ยฒ to 2 and โข to TM, which this page does not touch.
Frequently asked questions
Is there a cursive font I can copy and paste?
Not as a font. Fonts do not travel with copied text; the receiving app uses its own. What you copy here are separate Unicode characters that already look like script, which is why they keep their shape when pasted.
What happens to accented letters like รฉ or รฑ?
With the accent option on (the default), the base letter is styled and the accent is kept as a combining mark, so รฉ becomes โฏฬ. How neatly the accent sits depends on the font. Letters with no separable accent, such as ร, รธ or รฆ, stay plain.
Why are my numbers not in cursive?
Unicode has no script or italic digits. The Fine-tune option swaps in upright bold digits for the two bold rows; otherwise digits stay as they are.
Will cursive text work on Instagram, TikTok or Discord?
Usually in bios, captions, comments and display names, because those fields accept most Unicode. It will not work in @usernames, and each letter may count as two characters towards a limit.
Is my text sent anywhere?
No. The conversion runs in your browser as you type.
Sources
- Unicode, Mathematical Alphanumeric Symbols code chart (U+1D400โ1D7FF): script, bold script, italic, bold italic and sans italic alphabets, bold digits, reserved holes
- Unicode, Letterlike Symbols code chart (U+2100โ214F): the eleven script letters and Planck constant โ that fill the holes
- The Unicode Standard, chapter 22: Symbols: holes in the maths alphabets, not for styling nonmathematical text, chancery and roundhand variants
- Unicode Character Database, StandardizedVariants.txt: U+FE00 chancery and U+FE01 roundhand sequences for the 26 script capitals
- Unicode Character Database, NamesList.txt: traditional uses of the Letterlike script letters
- twitter-text, character weighting config v3: ranges counted as 1; all other characters count as 2 of 280
- Unicode Standard Annex #15, Normalization Forms: NFKC compatibility mappings used to turn cursive back into plain letters
Related Tools
Convert plain text to circled bubble Unicode text and back.
Typewriter text in six styles to copy and paste, and back to plain.
Tiny text in six styles: small caps, superscript, subscript and formulas, and back to plain.
Text to Morse and back, with sound, adjustable speed and WAV download.
Glitch text in five styles with intensity, letters hit and marks above, through or below.
Cursed Zalgo text in six strengths, including text that gets worse as it goes.