Horror Font Generator
13/500 characters. Every style below updates as you type.
Fraktur
Mathematical fraktur
Reverts to plain text if the field normalises what you save
Bold Fraktur
Mathematical bold fraktur
Reverts to plain text if the field normalises what you save
Upside Down
Flipped & reversed text
Survives normalisation, stays styled once saved
Glitch
Distorted zalgo text
Survives normalisation, stays styled once saved
Developer & Verifier
Developed by
Marcus Rodriguez
Full-stack developer specializing in web font implementation and performance optimization
Verified by
Sarah Mitchell
Typography expert specializing in font design, web typography, and accessibility
Mood words
Creepy, spooky and Halloween name a feeling, not a typeface classification, so no character set has a matching alphabet. What Unicode does have is blackletter, and blackletter carries most of the weight in all three because centuries of horror covers and haunted attraction signs have made the association for us. The differences between these three sections are differences of degree, and the copy says so rather than inventing a distinction.
Creepy text
Creepy is about something being subtly wrong rather than loud, so the useful trick is not a scarier alphabet, it is a familiar one that has been interfered with. Fraktur reads as an old printed page. Upside down reads as text that has been handled badly. The glitch style leaves your letters intact and stacks marks on them, so the word is still legible while looking infested, which is a much closer match to creepy than anything purely decorative.
Five fraktur capitals are not where you would expect. C, H, I, R and Z were encoded in the Letterlike Symbols block years before the Mathematical Alphanumeric Symbols range existed, as โญ, โ, โ, โ and โจ, and Unicode does not encode the same character twice, so those five slots in the maths range were left permanently empty. A tool that just adds a fixed offset to every letter produces blanks at exactly those positions. This one substitutes the Letterlike characters, which is why a fraktur R appears here rather than a box.
Bold fraktur has no such holes, so if your text is full of Cs and Hs it will look more consistent. Neither fraktur style has digits anywhere in Unicode, so a year passes through as ordinary numerals.
- โ๐๐ฒ๐ซ๐ฑ๐ข๐ก โ๐ฌ๐ฒ๐ฐ๐ขFraktur
- ๐ณ๐๐๐๐๐๐ ๐ณ๐๐๐๐Bold Fraktur
- วsnoษฅ pวสunษษฅUpside Down
- Hฬฬถaฬดอ uอ ฬดnฬถฬtฬฬฅeฬฬdฬฬ Hฬฬถoฬดอ uอ ฬดsฬถฬeฬฬฅGlitch
Spooky text
Spooky and creepy get used interchangeably, but the usage differs: spooky is the word people pick for a party invitation and creepy is the word they pick for something they want to unsettle you. That is why this preset drops the glitch and upside down styles and adds small caps, which reads as quiet and formal rather than damaged.
Small caps are worth understanding before you use them. They are not a Unicode block. They are an ad hoc collection assembled from the IPA and the phonetic extensions, which is why there is no small capital X anywhere in Unicode and an x in your text passes through at full height. Digits pass through too. On the other hand, because those characters are letters rather than compatibility forms, they survive the normalisation that strips the mathematical alphabets, so a small caps name usually sticks where a bold one reverts.
The font library files only three faces under spooky, and they are worth looking at because they disagree about what the word means: 2Peas Haunted House is a cartoon, Needleteeth Spooky is a set of teeth, and CK Mystery is a serif. The 633-font horror shelf is where to go if none of the three fit.
- ๐ณ๐๐๐๐๐๐ ๐ณ๐๐๐๐Bold Fraktur
- โ๐๐ฒ๐ซ๐ฑ๐ข๐ก โ๐ฌ๐ฒ๐ฐ๐ขFraktur
- สแดแดษดแดแดแด สแดแด๊ฑแดSmall Caps
Halloween text
Halloween is not a typographic style at all, it is a palette and a set of pictures: orange on black, a pumpkin, a bat. A Unicode character carries neither. A character is an identity, and what it looks like is decided later by whatever font renders it, so nothing you copy from this page will be orange. The only lever left is weight, which is why this preset is the heavy sets plus fullwidth for spacing.
The 224 faces on the Halloween shelf are the real answer, and two things about that shelf save time. First, several entries are dingbat fonts: Starbats and 101! Punkin' Face map the letter keys to drawn pictures, so typing a name gives you a row of pumpkins rather than a name. Preview before you download. Second, Horroween ships as a matched family (Academy, Condensed, Outline Italic and Rotalic), so a poster can use one voice at several sizes instead of four unrelated faces.
If your text is a year, note that bold fraktur has no digits, so 2026 will come out in plain numerals next to styled letters. Bold, sans bold and fullwidth all have their own digits and will not do that.
- ๐ณ๐๐๐๐๐๐ ๐ณ๐๐๐๐Bold Fraktur
- ๐๐๐ฎ๐ง๐ญ๐๐ ๐๐จ๐ฎ๐ฌ๐Bold
- ๐๐ฎ๐๐ป๐๐ฒ๐ฑ ๐๐ผ๐๐๐ฒSans Bold
- ๏ผจ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ ๏ฝ ๏ผจ๏ฝ๏ฝ๏ฝ๏ฝ Fullwidth
Constructed looks
These three name a physical process rather than a feeling: a signal being corrupted, letters being cut out of a magazine, and lettering being eaten by smoke. That makes them easier to answer honestly, because you can ask whether the process survives being turned into characters. One of them does, one is a manual job the tool can help with, and one is out of reach entirely.
Glitch and zalgo text
Glitch, usually called zalgo, is the exception on this page. It does not swap your alphabet for a different one. It appends combining diacritical marks from the U+0300 to U+036F range after each character, and the renderer stacks them onto the letter that came before. Your original text is still there underneath, byte for byte, which is why glitched text can still be searched for and read aloud in a way that a mathematical-alphabet name cannot.
This implementation appends exactly two marks per character, picked from a fixed set of eight by character position rather than at random. That is deliberate: a random generator produces different output on the server and in the browser and the page fails to hydrate. The practical consequence is that a ten character word becomes thirty code points. Fields that count code points rather than visible letters will reject text that looks like it should fit, and some platforms clamp or strip combining marks entirely to stop them spilling over neighbouring lines.
Strikethrough (U+0336) and underline (U+0332) work the same way with one mark instead of two, so they double the code point count rather than tripling it. If you want a drawn glitch rather than a typed one, with torn scanlines and offset channels, that is a font file. The edgy font generator holds the 2,057-font grunge category, and distorted holds the broken and scanline faces.
- Hฬฬถaฬดอ uอ ฬดnฬถฬtฬฬฅeฬฬdฬฬ Hฬฬถoฬดอ uอ ฬดsฬถฬeฬฬฅGlitch
- Hฬถaฬถuฬถnฬถtฬถeฬถdฬถ ฬถHฬถoฬถuฬถsฬถeฬถStrikethrough
- Hฬฒaฬฒuฬฒnฬฒtฬฒeฬฒdฬฒ ฬฒHฬฒoฬฒuฬฒsฬฒeฬฒUnderline
- ๐ท๐๐๐๐๐๐ ๐ท๐๐๐๐Monospace
Ransom note letters
A ransom note is defined by variation between letters, not by any one letterform. Cut from different magazines, every character is a different size, weight and typeface. That is why a single font almost never gets there: a font applies one design to the whole string, and it can only fake the effect if it ships randomised alternates, which most faces do not. The library holds exactly one face filed under ransom-note, and that scarcity is the point rather than a gap in the catalogue.
Unicode is unusually good at this by accident, because it contains several complete alphabets that were designed for unrelated purposes and therefore do not match each other at all. The method: type your text once, copy it in fullwidth, then in circled, then in small caps, then in monospace, then in double struck, and assemble your final word by taking one letter from a different copy each time. Fullwidth is spaced for Japanese text layout, circled letters came from enclosed alphanumerics, monospace from a maths range, and none of the four were meant to sit next to each other, which is exactly what you want.
Two limits. Circled and fullwidth are compatibility forms, so a field that normalises text will fold them back to ASCII and your note will collapse into ordinary letters on save. And a mixed string like this is close to unreadable for a screen reader, so keep it to a graphic and out of anything carrying information.
- ๏ผจ๏ฝ๏ฝ๏ฝ๏ฝ๏ฝ ๏ฝ ๏ผจ๏ฝ๏ฝ๏ฝ๏ฝ Fullwidth
- โฝโโคโโฃโโ โฝโโคโขโCircled
- สแดแดษดแดแดแด สแดแด๊ฑแดSmall Caps
- ๐ท๐๐๐๐๐๐ ๐ท๐๐๐๐Monospace
- โ๐๐ฆ๐๐ฅ๐๐ โ๐ ๐ฆ๐ค๐Double-Struck
Smoke and vapour lettering
Smoke lettering is an image effect, not a typographic one. The letter is eroded at its edges, blurred, and given a wisp trailing off it, and all three of those are operations on pixels. A font file stores outlines and nothing else, so even a real smoke typeface has to fake it: the faces on the shelf below do it by cutting contours and shatter marks into the outline, which is what names like Smoke-Contour and SmokeHouseShatter are telling you. Unicode is further away still, because a character does not even carry an outline.
The styles above are not smoke and are not offered as an equivalent. They are the lightest alphabets available, which is the only cue in the direction of thin and dissipating that a character set gives you. Superscript is genuinely small, though it is another borrowed collection rather than a block, and the letter q has no superscript form at all so it passes through at full size.
If you need the effect for real, take a heavy face from the horror shelf and add the smoke where you set the type, in a design tool. That keeps the letterforms crisp and puts the vapour on a layer you can control, which is how the posters this look comes from were made.
- ๐ง๐บ๐๐๐๐พ๐ฝ ๐ง๐๐๐๐พSans-Serif
- ๐ป๐๐ข๐๐ก๐๐ ๐ป๐๐ข๐ ๐Italic
- สฐแตแตโฟแตแตแต สฐแตแตหขแตTiny / Superscript
- ๐ท๐๐๐๐๐๐ ๐ท๐๐๐๐Monospace
What is actually happening when you copy one of these
Nothing on this page installs a font, and nothing is uploaded. Every style above is built from characters that already exist in Unicode, so copying one and pasting it is the entire process. That also sets the limits, and the limits are the useful part.
Two mechanisms are in play. Most of the styles substitute your letters for lookalikes from a different part of the standard: the fraktur, bold, sans bold, monospace and double struck sets come from the Mathematical Alphanumeric Symbols block, which was added so mathematicians could distinguish a bold vector from an italic scalar, and the circled and fullwidth sets come from the enclosed and fullwidth compatibility ranges. Substitution means the text is no longer the word you typed, which is why search stops matching it. Only some of these ranges have digits, so fraktur and bold fraktur leave numbers alone while bold, monospace, double struck, sans serif, sans bold, fullwidth and circled style them.
The glitch, strikethrough and underline styles work the other way. They leave your letters exactly as typed and append combining marks after each one, so the underlying word is preserved and only the rendering changes. That is a real advantage for anything that has to stay findable, and a real cost in length, because the code point count doubles or triples.
Accented text is handled rather than half converted. The mathematical ranges only cover A to Z, a to z and 0 to 9, so there is no styled รค or รฉ anywhere in Unicode. This tool decomposes your text first, styles the base letter, then reattaches the accent, which is why a name with an umlaut comes out fully styled instead of with one plain letter in the middle of it.
Before you paste it somewhere
- 1.Some of these revert and some do not. A field that runs Unicode compatibility normalisation on save folds the mathematical, circled, fullwidth and superscript alphabets back to plain ASCII with no error message. That takes out every style on this page except five. Small caps, upside down, glitch, strikethrough and underline are built from characters normalisation leaves alone, so those five stick. The tool at the top of this page marks each style with which group it is in, and it works that out by running the check on the real output rather than reading it off a list.
- 2.Combining marks are the first thing platforms limit. Stacked marks render outside the line box and overlap the text above, which breaks layouts, so it is common for a platform to cap how many marks it will draw or to strip them. Expect glitch text to come out tamer than the preview, and check it in the actual field before you commit to it.
- 3.Empty boxes mean a missing font, not a broken copy. A box is the reader's device saying it has no font covering that range. The main mathematical ranges are well covered on current Windows, macOS, iOS and Android. The Letterlike exceptions this page relies on for fraktur, and the phonetic characters behind small caps, are patchier, which is how the same text renders perfectly for you and partly as boxes for someone else.
- 4.Check the licence on anything you download. Every font on the shelf below links to its own page and its own licence terms. Horror and Halloween faces are disproportionately free for personal use only, because many were drawn as seasonal one-offs, so a party invitation is usually fine and a product label is usually not.
- 5.Screen readers do not read decorated text. These are symbols rather than letters as far as assistive technology is concerned, and it commonly reads them one code point at a time or skips them. Use them for a display name or a title, and use plain text for anything someone has to read to act on.
Downloadable fonts, grouped by look
Everything above is Unicode text, which means it renders in whatever font the reader's device happens to supply. When you need a specific look to survive that, you need a real font file. These are grouped so you can browse by the look you are after, and each name links through to its download page and its licence on FreeFontZone.
Horror display faces
The 633-font horror category, which is what this page used to be. Drawn letterforms: teeth, drips, broken serifs. Watch for the dingbat entries, Horror Dingbats and its Eerie Edition map letters to pictures rather than to letters.
Halloween lettering
224 faces built for the holiday rather than for fear. Horroween ships as a matched family, Academy plus Condensed plus Outline Italic plus Rotalic, so you can set a headline and a subhead in the same voice.
Smoke and vapour
No backend category exists for this one, so these 58 are a name match. That is why you get PsychedelicSmoke in Thin, Bold and Condensed Bold as separate entries.
Filed as creepy
The whole creepy category, which is five entries, and two of those (Diet Dr. Creep and DietDrCreep) are the same face catalogued twice. The horror shelf above is where the depth is.
Filed as spooky
Three faces, and they show the difference the word carries: a haunted-house cartoon, a set of teeth, and a mystery serif.
Ransom note
One font. The library holds a single face filed under ransom-note, which tells you something about the look: it is normally built by mixing faces, not by picking one.
Browse the individual generators
The styles above cover the looks people ask for by mood. When you already know the typographic name for what you want, these pages go deeper on one style each.
Fonts drawn to look damaged
The looks this page can only approximate. These three are download shelves rather than copy and paste tools.
Neighbouring horror words that kept their own page
These were not merged, because each answers a query this page would answer worse.
Historical faces that carry the same weight
Where the blackletter above comes from, if you want the real thing rather than the Unicode stand-in.
The full directory is at all font generators.
Other categories
- Effects Font GeneratorNeon, gold, 3D, outline, chalk and stamp, with the same honesty about what Unicode cannot do.
- Stylish Font GeneratorFancy, cool, weird, cute and tiny: the mood words that are not about fear.
- Social Media Font GeneratorWhich styles survive which platform, field by field.
- Handwriting Font GeneratorScript, signature and handwritten looks, the opposite end of the same character set.
