本文へスキップ

タイプスケール生成

Type Scale Generator

基準サイズと比率から文字と余白のモジュラースケールを作り、CSSかトークンとして書き出します。

基準サイズと比率からモジュラーなタイプスケールを組み立て、各段を実寸で見せ、その横に効いてくる数字を並べます。rem、行の高さ、字送り、そして本文に使えるサイズかどうかを決める、指定した段幅で1行に何文字入るかです。同じ比率から余白のスケールも導き、4pxのグリッドに合わせます。

🔒 ブラウザの中だけで動きますtypographyscaletokenscss

スケール

比率: 1.25

丸め

同じ比率から取った余白

  • space-14px
  • space-24px
  • space-38px
  • space-48px
  • space-58px
  • space-612px
  • space-716px
  • space-820px

4px のグリッドに合わせています。ほとんどのデザインシステムがすでに持っているグリッドですし、12px の隣の 13px は雑音でしかありません。

プレビュー

5xl61px / 3.8125rem元の値 61.0352行間 1.101字間 -0.0234em約 21文字

いろはにほへと ちりぬるを · The quick brown fox jumps over the lazy dog

4xl49px / 3.0625rem元の値 48.8281行間 1.168字間 -0.0172em約 26文字

いろはにほへと ちりぬるを · The quick brown fox jumps over the lazy dog

3xl39px / 2.4375rem元の値 39.0625行間 1.238字間 -0.012em約 33文字

いろはにほへと ちりぬるを · The quick brown fox jumps over the lazy dog

2xl31px / 1.9375rem元の値 31.25行間 1.309字間 -0.0078em約 41文字

いろはにほへと ちりぬるを · The quick brown fox jumps over the lazy dog

xl25px / 1.5625rem行間 1.375字間 -0.0047em約 51文字

いろはにほへと ちりぬるを · The quick brown fox jumps over the lazy dog

lg20px / 1.25rem行間 1.443字間 -0.0021em約 64文字

いろはにほへと ちりぬるを · The quick brown fox jumps over the lazy dog

base16px / 1rem行間 1.512字間 0em約 80文字基準

いろはにほへと ちりぬるを · The quick brown fox jumps over the lazy dog

sm13px / 0.8125rem元の値 12.8行間 1.575字間 0.0037em約 98文字

いろはにほへと ちりぬるを · The quick brown fox jumps over the lazy dog

xs10px / 0.625rem元の値 10.24行間 1.6字間 0.0075em約 128文字

いろはにほへと ちりぬるを · The quick brown fox jumps over the lazy dog

緑は 1行 45〜75文字です。Bringhurst が示した欧文の範囲で、分かち書きをするハングルは全角の漢字・かなよりこちらに近いところにあります。

書き出し

形式

この中のどれかを段で刻まずに画面の幅に合わせて変えたいなら可変サイズのclamp()計算が 2 つの値をひとつの clamp() にまとめます。

使い方

  1. 基準サイズを決めます

    本文の文字サイズで、ほとんどの場合16pxです。ほかはすべてこれに比率を掛けるか割るかしたものなので、先にここを合わせておけば、あとで比率を選び直さずに済みます。

  2. 比率を選びます。ここが決定です

    長2度(1.125)はインターフェースの安全な既定です。8段取ってもまだ妥当な範囲に収まります。完全4度(1.333)は読み物向けで、16pxから3段上がればもう38pxです。黄金比は有名ですが、インターフェースの文字には急すぎます。プリセットごとに何のためのものかを書いてあります。名前ではなく、必要な範囲で選んでください。

  3. 段数と、丸めるかどうかを決めます

    下の段はキャプションやラベルのため、上の段は見出しのためです。厳密のままなら幾何が保たれ、ピクセルに小数が出ます。1pxか2pxで丸めれば人が頭に入れられる数字になり、比率はわずかに崩れます。丸めるのがふつうの選択で、丸めた値の横には厳密な値も出ています。

  4. 段幅を入れて1行の文字数を読みます

    この文章が実際に置かれる段の幅を入力します。各行のいちばん右の数字がその幅での1行あたりの文字数で、45から75のあいだで緑になります。続けて読ませる文章について実証のある範囲です。単体では気持ちよく読めても1行110文字になるサイズは、本文には合わないサイズです。

  5. トークンを書き出します

    CSS変数、Tailwindのテーマブロック、SCSS、JSONがあります。余白のスケールも一緒に出るので、1回の貼り付けで両方そろいます。

よくある質問

プレビューは実際に使う書体で表示されていますか。

違います。このページの書体で描いています。サイズ、行の高さ、字送りは本物ですが、書体が変わればxハイトも変わり、16pxがどれくらい大きく見えるかを実際に決めているのはxハイトです。プレビューは比率の確認として扱い、基準サイズは自分のプロダクトで確かめてください。

スケール全体を使うべきですか。

使うべきではありませんし、11段作ったことは11段使う理由になりません。たいていのインターフェースに要るサイズは4つか5つです。余分な段があるのは、比率がどこへ向かうかを見られるようにするためと、めったに使わないサイズにもその場の思いつきではなく定まった値があるようにするためです。

行の高さと字送りはどこから来ていますか。

書体からではなく規則からです。サイズが大きくなるほど行の高さは下がり、大きな段では字送りが詰まり、小さな段ではわずかに緩みます。慣習的な出発点で、役に立つ程度には当たりますが、細長い書体や、字面の大きい和文書体では別の数字が要ります。見てから調整してください。

タイプスケールは丸めないのに、余白のスケールだけ4pxに合わせるのはなぜですか。

目の読み方が違うからです。17pxの見出しの隣に18pxの見出しがあれば階層ですが、12pxの隙間の隣の13pxの隙間はただの雑音で、しかもレビューを生き延びてそのまま複製される種類の雑音です。ほとんどのデザインシステムにはすでに4pxのグリッドがあるので、余白のスケールはそこで足並みをそろえます。

ここから渡せます

次の一手

このツールが出したものをそのまま受け取れる道具です。