S
S

Script Your Letters

Generative typography. Parametric fonts. Code meets calligraphy.

Start Scripting
Scroll

Type Specimens

Browse generated typefaces. Every specimen is algorithmically crafted from parametric rules.

001

Aa Bb Cc Dd Ee Ff Gg

Neo Grotesque

weight 400 · width 100%

Customize
002

Aa Bb Cc Dd Ee Ff Gg

Bold Condensed

weight 700 · width 75%

Customize
003

Aa Bb Cc Dd Ee Ff Gg

Light Italic

weight 300 · slant -12°

Customize
004

Aa Bb Cc Dd Ee Ff Gg

Ultra Black

weight 900 · width 110%

Customize
005

Aa Bb Cc Dd Ee Ff Gg

Extended Light

weight 300 · width 150%

Customize
006

Aa Bb Cc Dd Ee Ff Gg

Mono Script

weight 400 · monospace

Customize

Parameter Controls

Manipulate the sliders to see how parametric values shape a letterform in real time.

R
R
400
100%
48pt
R A S g Q e

Code Examples

Scriptgrapher uses a declarative syntax to define, animate, and export typefaces.

define.sg
define letterform("A") {
  weight: 700;
  contrast: 0.85;
  // apex sharpness
  apex: "pointed";
  serif: false;
  x_height: 0.52;
}
1
2
3
4
5
6
7
animate.sg
animate morph("S") {
  from: { weight: 100 };
  to: { weight: 900 };
  // easing curve
  ease: "cubic-bezier";
  duration: 2400;
  loop: true;
}
1
2
3
4
5
6
7
export.sg
export typeface("Neo") {
  format: "woff2";
  axes: ["wght", "wdth"];
  // variable font output
  variable: true;
  hinting: "auto";
  subset: "latin";
}
1
2
3
4
5
6
7

How It Works

01

Define

Declare letterforms using parametric rules. Set weight, contrast, serifs, and spacing.

02

Animate

Add motion to letterforms. Morph between styles, loop transitions, apply easing curves.

03

Export

Output variable fonts in woff2, subset for web, auto-hint, and deploy everywhere.