DevToolPal
日本語

PX → REM 変換

任意の基準フォントサイズで px を rem・em に変換(逆変換も可)。変換表付きで、貼り付けた CSS の px 値もまとめて変換します。

ローカルで処理、アップロードなし

オプション

変換方向
単位

CSS または数値

0 文字 · 0 B

結果

結果はここに表示されます

できること

CSS の長さをピクセルと相対単位の rem・em の間で変換するツールです。24px のように 1 つの値を入力すれば 1.5rem が得られ、1 行に 1 つずつ並べればまとめて変換でき、スタイルシートを丸ごと貼り付ければ中の px 値がすべてその場で書き換わります。早見表には、現在の基準フォントサイズでの 1px〜128px のよく使うサイズを表示します。データはブラウザーの外に出ません。

使い方

  1. CSS を貼り付けるか、1 行に 1 つずつ値を入力します。単位なしの数値は px(逆方向のときは rem/em)として扱い、もう一方の単位で書かれた値は逆向きに変換します。
  2. 「基準フォントサイズ」を設定します。どのブラウザーも既定は 16px です。html { font-size: 62.5% } として 1rem = 10px にしているプロジェクトもあります。
  3. 「変換方向」(px → rem / rem → px)、「単位」(rem / em)、残す「小数桁数」を選びます。
  4. 必要なら「この値未満は px のまま」を設定し、1px のボーダーなどの細線を px のまま残します。
  5. 結果の上のボタンでコピーします。

例

/* before */
.title { font-size: 24px; margin-bottom: 12px; }

/* after (base 16px) */
.title { font-size: 1.5rem; margin-bottom: 0.75rem; }

パーセント、色、url() 内のファイル名、.mt-16px のようなクラス名など、px 以外の値は変更しません。0px は 0 になります。

px・rem・em

  • px は絶対単位で、読者が設定した文字サイズを無視します。
  • rem(root em)は html 要素のフォントサイズの倍数です。読者がブラウザーを 20px に設定すると 1rem は 20px になり、レイアウト全体が拡大されます。
  • em は現在の要素のフォントサイズの倍数です。所属する文字に合わせたい余白に便利ですが、入れ子の em は掛け算になるため、基本は rem のほうが安全です。

メディアクエリも変換します。@media (min-width: 768px) は 48rem(または 48em)になり、読者が文字を拡大してもブレークポイントの整合が保たれます。なお、メディアクエリ内の rem と em はどちらもブラウザーの既定フォントサイズが基準で、html に指定した値ではありません。

よくある質問

› px を rem に変換するには?

ピクセル値をルートのフォントサイズで割ります。ブラウザーの既定値 16px なら、24px ÷ 16 = 1.5rem、12px ÷ 16 = 0.75rem です。逆は掛け算で、2rem × 16 = 32px です。

› rem と em の違いは?

rem はルート要素 html のフォントサイズが基準なので、ページ内のどこでも 1rem は同じ大きさです。em は現在の要素のフォントサイズ(font-size 自体では親要素)が基準で、入れ子にすると掛け算で効いてきます。ほとんどのサイズは rem、ボタンの余白のように自分の文字に合わせて伸縮させたいものは em が向いています。

› px ではなく rem を使う理由は?

読者がブラウザー設定で既定の文字サイズを大きくすると、rem のサイズは一緒に大きくなりますが、px は変わりません。rem を使うとアクセシビリティを保てるうえ、ルートの値を 1 つ変えるだけでデザイン全体を拡大縮小できます。

› 1px のボーダーも変換すべきですか?

通常は不要です。0.0625rem の細線は拡大率によってはぼやけたり消えたりします。「この値未満は px のまま」を 2px にすれば、ボーダーなどのごく小さい値は px のまま残ります。