UnifrakturCook
Type with Purpose
Good typography guides attention, improves understanding, and makes communication effortless.
The Anatomy of a Typeface
By FontSide · June 2026
Every typeface is a system of decisions — about stroke contrast, x-height, spacing, and rhythm. The best ones feel invisible: you stop seeing the letters and start hearing the voice behind them. That transparency is the hardest thing to design.
A high x-height opens up the counters and makes small text breathe. Tight tracking pulls a headline together; loose tracking gives a caption room to exhale. None of these choices are accidents — they are arguments about how reading should feel.
Uppercase
Lowercase
Numerals
Symbols
Package Manager
The recommended way to use fonts in modern web projects.
1. Install Package
pnpm add @fontsource/unifrakturcook 2. Import in App
// Please select at least one weight and style 3. CSS Usage
body {
font-family: "UnifrakturCook", system-ui;
} Google Fonts CDN
Use Google's CDN to embed the fonts directly via HTML.
HTML <head>
<!-- Please select at least one weight and style --> Fontsource CDN
Skip the build step by adding this directly to your global CSS file.
Global CSS
/* Please select at least one weight and style */ Background & Story
UnifrakturCook is a blackletter font. It is based on Peter Wiegel’s font Koch fette deutsche Schrift which is in turn based on a 1910 typeface by Rudolf Koch. While the glyph design of Peter Wiegel’s font has hardly been changed at all, UnifrakturCook uses smart font technologies for displaying the font’s ligatures (OpenType, Apple Advanced Typography and SIL Graphite). An experimental feature is the distinction of good blackletter typography between required ligatures ‹ch, ck, ſt, tz› that must be kept when letterspacing is increased, and regular ligatures (for instance, ‹fi, fl›) that are broken up when letterspacing is increased.
Using the ligatures: Whenever you type a sequence such as ‹tz›, it will automatically be displayed as a ligature. When you want to oppress a ligature, for instance in the German word «Zeitzone» ‘time zone’ that should have no tz-ligature, then you put a zero width non-joiner between the ‹t› and the ‹z› or, alternatively, you write «Zeit‌zone» in the HTML code. Unfortunately, this will only work on a browser that is capable of displaying ligatures.
Of course, UnifrakturMaguntia provides the character ‹ſ› (U+017F LATIN SMALL LETTER LONG S)!
UnifrakturCook is optimized for @font-face linking on the internet by combining standards compliance with a permissive license.
UnifrakturCook has first been published in 2010 at UnifrakturCook. It has been edited with FontForge, the libre outline font editor. OpenType features have been added with FontForge directly. AAT features have been added with ftxenhancer of the Apple Font Tools. Graphite has been added with the Graphite Compiler. For more information about AAT and Graphite, you may want to check out the Free Tengwar Font Project: Adding Graphite and AAT to a font.
Tags & Moods
Subsets
Install
pnpm add @fontsource/unifrakturcook Designed by
j. 'mach' wust
Links
License
OFL-1.1