nicetool.dev logo

PX→REM変換

どちらの欄に入力してもかまいません。表の行をクリックすると読み込み、下にCSSを貼ると一括変換します。

24px = 1.5rem = 18pt = 150%

換算表(基準16px)

pxrempt
1px0.0625rem0.75pt
2px0.125rem1.5pt
4px0.25rem3pt
6px0.375rem4.5pt
8px0.5rem6pt
10px0.625rem7.5pt
12px0.75rem9pt
14px0.875rem10.5pt
16px1rem12pt
18px1.125rem13.5pt
20px1.25rem15pt
24px1.5rem18pt
28px1.75rem21pt
32px2rem24pt
36px2.25rem27pt
40px2.5rem30pt
48px3rem36pt
56px3.5rem42pt
64px4rem48pt
72px4.5rem54pt
80px5rem60pt
96px6rem72pt
128px8rem96pt

CSSを一括変換

6個の値を変換しました
.card {
  padding: 1.5rem 2rem;
  margin-bottom: 1rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
}

pxとremの違いは?

pxは固定のCSS単位で、1remはルート要素htmlのフォントサイズに等しく、どのブラウザでも既定は16pxです。文字サイズ、余白、レイアウトをremで指定すると、ユーザーがブラウザ設定で既定の文字サイズを大きくしたときにすべてが一緒に拡大されます。これはアクセシビリティの重要な要件です(WCAG 1.4.4 テキストのサイズ変更)。計算は簡単で、rem = px ÷ ルートフォントサイズなので、基準16pxなら24pxは1.5remです。emも同様ですが親要素のフォントサイズが基準となり、入れ子になると積み重なります。

機能

  • • ルートフォントサイズを指定してpxとremを相互変換
  • • ptとパーセントの値も表示
  • • 1pxから128pxまでのよく使うサイズの表(クリック可能)
  • • CSSのpx値をすべて書き換える一括変換
  • • 1pxの細い線をpxのまま残すオプション

ローカルで動作

貼り付けたCSSも含め、変換はすべてブラウザ内で行われます。何もアップロードされません。

即時計算、100%クライアント側。

PX→REM変換の使い方

  1. 1

    ルートフォントサイズを確認します。プロジェクトがhtml { font-size }を10pxや62.5%などに変えていなければ16pxのままにします。

  2. 2

    px欄に値を入れるとremが、rem欄に入れるとpxが表示されます。下の行にはptとパーセントも表示されます。

  3. 3

    表の任意の行をクリックすると、1pxから128pxまでのよく使うサイズを読み込めます。

  4. 4

    一括変換欄にCSSを貼り付けると、すべてのpx値がremに、0pxは0になり、1pxの線はpxのまま残せます。結果をスタイルシートにコピーします。

活用例

タイポグラフィのスケール

14 / 16 / 20 / 24 / 32pxの文字サイズは0.875 / 1 / 1.25 / 1.5 / 2remになり、ユーザーがブラウザで文字を大きくすると見出しも大きくなります。

古いスタイルシートの移行

pxで書かれた古いCSSを貼り付け、padding、margin、font-sizeをまとめて変換し、メディアクエリを見直して細い線はpxのまま残します。

Figmaのデザインに合わせる

デザイナーはpxでサイズを渡します。4、8、12、16、24pxの余白トークンを0.25、0.5、0.75、1、1.5remに変換してデザインシステムに使います。

62.5%テクニック

html { font-size: 62.5% }で1rem = 10pxにするプロジェクトもあります。ルートサイズを10にすれば24pxは分かりやすい2.4remになります。

よくある質問

remとpxのどちらを使うべき?+

文字サイズとほとんどの余白はremにして、ユーザーの文字サイズ設定を尊重しましょう。拡大させたくない枠線、影、細部はpxでも問題ありません。

remとemの違いは?+

remはルートのhtmlのフォントサイズが基準なので予測しやすいです。emは親要素が基準なので入れ子にすると掛け算になり、コンポーネントでは便利ですが間違えやすいです。

基準は常に16px?+

どのブラウザでも既定は16pxですが、ユーザーが変更でき、CSSでhtmlを上書きすることもできます。プロジェクトで実際に使っているルートサイズで変換してください。

メディアクエリはremを使うべき?+

emやremのメディアクエリは、htmlのルールではなくブラウザ既定の文字サイズが基準で、ユーザーが文字を拡大すると追従します。そのためメディアクエリにemを使うチームも多くあります。