ホーム PX → REM

PX → REM

ピクセル値を REM 単位に変換、ルートフォントサイズを調整可能——リアルタイム変換と完全な対照表、100% ブラウザ内で完結。

入力

計算式: rem = px ÷ ルートフォントサイズ

結果

REM
1rem
CSS スニペット

対照表(1〜100 px)

PXREMPXREM

REM とは?

REM(root em)は CSS3 で導入された相対長さ単位です。em 単位が要素自身のフォントサイズに対して相対的(ネスト時に累積する)なのに対し、rem は常にルート要素(<html> 要素)のフォントサイズに対して相対的です。1rem はルートの計算フォントサイズに等しく、ブラウザは既定で 16 ピクセルに設定します。そのため既定では 1rem = 16px0.5rem = 8px2rem = 32px となります。

rem は単一のルート基準に対して解決されるため、em 単位の累積問題を回避し、スタイルシート全体で予測可能でスケーラブルなサイズを実現します。デザイナーや開発者はルートフォントサイズという一つの値を変更するだけでインターフェース全体を比例的にスケールでき、これが rem が現代 CSS でタイポグラフィ・スペーシング・コンポーネントサイズの推奨単位となっている理由です。

PX と REM の比較

ピクセル(px)と rem(root em)はどちらも CSS の長さ単位ですが、アクセシビリティとレスポンシブスケーリングにおいて挙動が大きく異なります。それぞれのトレードオフを理解することで、状況に応じた適切な単位を選択できます。

特徴PXREM
種類絶対単位相対単位(ルートフォントサイズ基準)
デフォルト値1px = 1/96 インチ1rem = 16px(ブラウザ既定)
ユーザー設定の尊重しないする
ネスト時の累積しないしない(ルート基準)
スケーラビリティ固定——値ごとに上書きが必要ルート変更で全体をスケール
最適な用途ボーダー、細線、デバイスピクセルフォントサイズ、スペーシング、レイアウト寸法

要するに、px はピクセル単位の正確な制御を提供しますがユーザーのブラウザフォントサイズ設定を無視し、rem はアクセシブルでスケーラブル、フォントとほとんどのレイアウトスペーシングに適しています。多くのチームはハイブリッド方式を採用し、フォントとスペーシングには rem、細いボーダーと固定装飾要素には px を使用します。

ルートフォントサイズ

ルートフォントサイズは <html> 要素に宣言されたフォントサイズで、すべての rem 値が解決される唯一の参照点です。ブラウザは既定で 16px ですが、CSS で上書きできます——多くのデザインシステムがそうしています。例えば html { font-size: 62.5%; } で 1rem を 10px にし、暗算を簡単にします(1.4rem = 14px)。

このコンバーターでは 8px 〜 32px の任意のルートフォントサイズを設定でき、プロジェクトのルート設定に合った rem 値を計算できます。スライダーでルートサイズを変更すると、結果と対照表全体が即座に再計算され、常に設定に応じた正しい変換が表示されます。

REM を使うべき場面

REM は現代のアクセシブルな Web デザインにおいて、ほとんどのサイズ設定に推奨される単位です。値がユーザーのフォントサイズ設定やグローバルなデザイントークンの変更に連動してスケールすべき場合は、常に rem を使用します。最も一般的なユースケースは以下の通りです:

  • タイポグラフィ。font-size を rem で設定し、見出し・段落・本文がすべてユーザーのブラウザフォント設定を尊重するようにします。
  • スペーシングと余白。マージン・パディング・ギャップに rem を使い、レイアウト全体が比例してスケールするようにします。
  • コンポーネント寸法。rem で定義したボタン・カード・モーダル幅は、ルートサイズに応じてスケールします。
  • メディアクエリ。rem で書かれたブレイクポイントは、ビューポート幅だけでなくユーザーのフォント設定にも応答します。
  • デザインシステム。rem で表現されたスペーシングスケール(4px / 8px / 16px…)がグローバルに再スケール可能なトークンになります。

ボーダー(1px の細線)、デバイスピクセル精度が必要なグラフィック、ルートフォントサイズ変更時に変わるべきでない値には px を使います。

REM とレスポンシブデザイン

REM はレスポンシブでアクセシブルなデザインの基盤です。rem 値はルートフォントサイズから派生するため、1 つの宣言を変更するだけでインターフェース全体を再スケールできます。一般的なパターンは clamp() 関数でルートフォントサイズを設定し、ビューポートに応じて流動的に拡大させることです:html { font-size: clamp(16px, 2vw, 20px); }。rem ベースのすべての寸法が、追加のメディアクエリなしでモバイルからデスクトップへスムーズにスケールします。

rem ベースのタイポグラフィとスペーシングを、レイアウトには vw や % などの相対単位と組み合わせることで、サイトはあらゆるデバイスで優雅に適応しつつ、ユーザーのアクセシビリティ設定を尊重します。これが Tailwind、Bootstrap 5、Material Design など現代の CSS 手法の多くが、スペーシングとタイプスケールをデフォルトで rem で提供している理由です。

PX を REM に変換するには?

ピクセル値をルートフォントサイズで割ります:rem = px ÷ ルートフォントサイズ。既定の 16px ルートでは、24px は 24 ÷ 16 = 1.5rem になります。

デフォルトのルートフォントサイズは?

すべての主要ブラウザは <html> 要素に既定で 16px を設定するため、既定では 1rem = 16px です。

ルートを 62.5% に設定するプロジェクトがあるのはなぜ?

html { font-size: 62.5%; } を設定すると 1rem = 10px になり、暗算が簡単になります(1.6rem = 16px)。その後 body フォントを読みやすいサイズにリセットします。

REM は EM より優れていますか?

ほとんどの場合はい——rem はルート基準でネスト時に累積しないため、より予測可能です。em はコンポーネントが自身のフォントサイズに合わせてスケールすべき場合に有用です。

値はサーバーに送信されますか?

いいえ。すべての計算はブラウザ内でローカルに実行され、何もアップロードされません。