This page explains how our tools work, where their output comes from and how we check it. It applies to every tool on the site. Each tool page also has its own How it works and How the conversion works sections with a worked example for that tool.
1. Fancy text is Unicode, not a font
Our font tools do not change fonts. They replace each character you type with a different character from the
Unicode Standard that already looks
styled. For example, the bold style turns A (U+0041 LATIN CAPITAL LETTER A) into 𝐀
(U+1D400 MATHEMATICAL BOLD CAPITAL A). Because the result is made of standard characters, it keeps its look when you
paste it into an app that has no font settings.
The rule is a simple lookup: output = prefix + map(c1) + separator + map(c2) + … + suffix. map(c)
returns the style's character for c, or c unchanged if the style has none. Some styles add a
step: strikethrough and underline add a combining mark after each character, glitch text stacks several combining marks,
and upside down and mirror text reverse the order of the characters.
2. One style table, used everywhere
All 594 styles are defined once, in a single data file generated by a build script. The same file is used by the generator in your browser and by our server when it renders examples on a page. That means the styled text you see in an article is produced by exactly the same rules as the text the tool gives you. An automated test checks that both produce identical output (see testing).
Every character in that table is a real, assigned Unicode code point. The build script stops with an error if any alphabet has the wrong number of characters, and each tool page shows a sample of its characters with their official Unicode names, so anyone can check them against the official code charts.
3. Compatibility ratings
Every style carries a coloured dot that tells you how likely it is to display correctly:
- Green: works almost everywhere. Mostly long-established blocks such as Mathematical Alphanumeric Symbols, Enclosed Alphanumerics and full-width letters.
- Amber: works in most apps, but some older phones or game fonts may show boxes. This includes styles that mix characters from several blocks and every decorated style, because their symbol frames come from many different blocks.
- Red: may show boxes on older phones and in some games, for example the heavy glitch style.
Ratings are our assessment based on when each Unicode block was added and how widely common system fonts cover it. We have not yet verified every style on a full range of physical devices, so treat the dots as a guide and test important text, such as a game name, before you rely on it.
4. Everything runs in your browser
The conversion happens on your device as you type. The only file the page downloads is the style table itself. Your text is not sent to our server and we do not store it. Favourites, recently copied styles and your theme choice are kept only in your browser. Details are in our privacy policy.
5. Text tools and counts
The character counter, case converter, text repeater and invisible text tool follow published standards: grapheme clusters from Unicode UAX #29 for character counts, UTF-16 code units for the "app count" most platforms use, and NFKC normalization (UAX #15) to remove fancy fonts. Each tool page shows the exact rules and a worked example.
6. Cursive letters
Our cursive letter images, stroke animations and printable worksheets are traced from the Playwrite US Trad handwriting font, used under the SIL Open Font License. Each letter's stroke order was set up by hand and checked frame by frame. Schools teach several cursive models, so letters can differ slightly from the one your teacher uses.
7. Review and updates
Every tool is built and reviewed by Ale. Each tool page shows when it was last reviewed, its version and a changelog. We aim to review every tool at least every 6 months, and our site checks flag any tool that is overdue. How we write and update content is described in our editorial policy, and every confirmed fix is listed on the corrections page.