ToolDeck

CSS Unit Converter

CSS-Einheiten zwischen px, rem, em, vw, vh und % umrechnen

px16
rem1
em1
vw1.111111
vh1.777778
%100
pt12
cm0.4233331
mm4.233331
in0.1666667
Auch ausprobieren:CSS FormatterCSS Minifier

Was ist CSS-Einheitenkonvertierung?

Ein CSS-Einheitenkonverter ist ein Werkzeug, das Längenwerte zwischen verschiedenen CSS-Maßsystemen umrechnet. CSS definiert über ein Dutzend Längeneinheiten, aufgeteilt in zwei Gruppen: absolute Einheiten wie px, pt, cm und in, die festen physischen Maßen entsprechen, und relative Einheiten wie rem, em, vw, vh und %, die vom Kontext abhängen — etwa vom Schriftgrad oder von den Viewport-Abmessungen.

Browser lösen alle CSS-Längen beim Rendern in Pixel auf. Wenn du 1.5rem schreibst, multipliziert der Browser 1,5 mit dem Root-Schriftgrad (standardmäßig 16px) und erhält 24px. Bei 50vw nimmt er die Hälfte der aktuellen Viewport-Breite. Das Verständnis dieser Zusammenhänge ist notwendig, um Layouts zu erstellen, die über Geräte hinweg skalieren und Nutzereinstellungen wie benutzerdefinierte Schriftgrößen im Browser berücksichtigen.

Die CSS Values and Units Module Level 4 Spezifikation (W3C) definiert die genauen Umrechnungsverhältnisse zwischen allen absoluten Einheiten: 1in = 96px = 72pt = 2.54cm = 25.4mm. Relative Einheiten haben kein festes Verhältnis, da sie vom Laufzeit-Kontext abhängen. Ein kostenloser CSS-Einheitenkonverter ermöglicht es dir, diese Zusammenhänge sofort für deinen spezifischen Root-Schriftgrad und deine Viewport-Abmessungen zu berechnen — ohne Code schreiben zu müssen.

Warum einen CSS-Einheitenkonverter verwenden?

CSS-Einheiten von Hand umzurechnen bedeutet, sich Verhältnisse zu merken, einen Taschenrechner zu öffnen und das Ergebnis nochmals zu überprüfen. Dieses Werkzeug erledigt die Konvertierung im Browser — ohne Aufwand.

Sofortige Konvertierung
Gib einen Wert ein, wähle die Ausgangseinheit, und sieh die Ergebnisse in allen 10 CSS-Einheiten auf einmal. Keine separaten Berechnungen für px-zu-rem, px-zu-vw oder px-zu-pt nötig.
🔒
Daten bleiben privat
Alle Konvertierungen laufen lokal in deinem Browser. Kein Wert wird an einen Server gesendet, protokolliert oder gespeichert. Schließe den Tab, und die Daten sind weg.
🎯
Deinen genauen Kontext abbilden
Lege Root-Schriftgrad, Viewport-Breite, Viewport-Höhe und den übergeordneten Schriftgrad fest. Der Konverter verwendet diese Werte, um genaue Ergebnisse für rem, em, vw, vh und %-Einheiten zu liefern.
📏
Alle CSS-Längeneinheiten abgedeckt
Unterstützt px, rem, em, vw, vh, %, pt, cm, mm und in. Ob du mit Bildschirmlayouts, Print-Stylesheets oder responsiver Typografie arbeitest — jede Einheit ist enthalten.

Anwendungsfälle für den CSS Unit Converter

Frontend-Entwicklung
Pixelwerte aus einer Design-Datei in rem umrechnen für eine Komponenten-Bibliothek. Wenn ein Figma-Mockup 24px Abstand vorgibt, konvertiere es in 1.5rem, damit das Layout mit der Schriftgröße des Nutzers skaliert.
Backend- und Full-Stack-Entwicklung
PDF- oder E-Mail-Templates erstellen, bei denen Abmessungen in pt oder cm angegeben sind. Konvertiere CSS-Pixelwerte in druckfertige Punktgrößen für serverseitiges Rendering mit Werkzeugen wie Puppeteer oder wkhtmltopdf.
DevOps und CI-Pipelines
Prüfe, ob die Abstands-Tokens eines Design-Systems über Build-Schritte hinweg konsistente Einheiten verwenden. Verifiziere schnell, dass eine 16px-Basis die erwarteten rem-Werte im generierten CSS liefert.
QA und visuelles Testen
Berechnete Stile bei browserübergreifenden Tests überprüfen. Wenn Chrome DevTools einen berechneten Wert von 14.4px anzeigt, konvertiere ihn in rem, um zu bestätigen, dass er dem erwarteten 0.9rem aus dem Stylesheet entspricht.
Datenvisualisierung
SVG- oder Canvas-Elemente relativ zu Viewport-Abmessungen skalieren. Fixe Pixel-Breiten von Diagrammen in vw-Einheiten umrechnen, damit Visualisierungen auf verschiedenen Monitoren einen konsistenten Prozentsatz des Bildschirms füllen.
CSS lernen
Die Beziehung zwischen rem, em und px verstehen, indem du mit verschiedenen Basisgrößen experimentierst. Ändere den Root-Schriftgrad von 16px auf 18px und sieh, wie sich jeder rem-Wert verschiebt.

Referenz der CSS-Längeneinheiten

CSS definiert 10 häufig verwendete Längeneinheiten. Absolute Einheiten haben eine feste Umrechnung in Pixel. Relative Einheiten hängen vom Kontext ab: dem Root-Schriftgrad für rem, dem übergeordneten Schriftgrad für em und dem Browser-Viewport für vw und vh.

EinheitNameStandardgrößeRelativ zu
pxPixel1pxFixed; 1px = 1/96 of 1in on screens
remRoot em16px (default)Relative to <html> font-size
emEmInheritedRelative to parent element font-size
vwViewport width1% of viewportRelative to browser window width
vhViewport height1% of viewportRelative to browser window height
%PercentageVariesRelative to parent property value
ptPoint1.333pxPrint unit; 1pt = 1/72 of 1in
cmCentimeter37.795pxPhysical unit; 1cm = 96px / 2.54
mmMillimeter3.7795pxPhysical unit; 1mm = 1cm / 10
inInch96pxPhysical unit; 1in = 96px (CSS spec)

Absolute vs. relative CSS-Einheiten

Die Wahl zwischen absoluten und relativen Einheiten beeinflusst, wie dein Layout auf verschiedene Bildschirme und Nutzereinstellungen reagiert. Jede Gruppe hat eigene Vor- und Nachteile.

Absolute Einheiten (px, pt, cm, mm, in)
Absolute Einheiten erzeugen unabhängig vom Kontext dieselbe physische Größe. Verwende px für Rahmen, Schatten und Elemente, die nicht skalieren sollen. Verwende pt für Print-Stylesheets. Die CSS-Spezifikation definiert 1in = 96px, obwohl die tatsächliche physische Größe je nach Bildschirm-DPI variiert.
Relative Einheiten (rem, em, vw, vh, %)
Relative Einheiten skalieren mit ihrem Referenzkontext. Verwende rem für Schriftgrößen und Abstände, um Nutzereinstellungen zu berücksichtigen. Verwende em für komponenteninterne Skalierung (Innenabstand relativ zum eigenen Schriftgrad des Elements). Verwende vw/vh für viewport-füllende Layouts wie Hero-Bereiche.

Häufige px-zu-rem-Umrechnungstabelle

Diese Tabelle setzt einen Root-Schriftgrad von 16px voraus (der Browser-Standard). Wenn dein Projekt eine andere Basis verwendet, teile den Pixelwert durch deine Basis, um den rem-Äquivalent zu erhalten.

pxremptTypische Verwendung
100.6257.5Small caption text
120.759Body text (compact)
140.87510.5Default body text
16112Root font-size (browser default)
181.12513.5Large body text
201.2515H4 heading
241.518H3 heading
32224H2 heading
48336H1 heading
64448Display / hero text

Code-Beispiele

Diese Beispiele zeigen, wie CSS-Einheiten programmatisch in JavaScript, Python, CSS-Custom-Properties und Sass konvertiert werden.

JavaScript
// px to rem (given root font-size of 16px)
const pxToRem = (px, base = 16) => px / base
pxToRem(24)  // → 1.5

// rem to px
const remToPx = (rem, base = 16) => rem * base
remToPx(1.5) // → 24

// px to vw (given viewport width of 1440px)
const pxToVw = (px, viewport = 1440) => (px / viewport) * 100
pxToVw(360)  // → 25

// Dynamic calculation using getComputedStyle
const rootFontSize = parseFloat(
  getComputedStyle(document.documentElement).fontSize
) // → 16 on most browsers
Python
# CSS unit converter functions

def px_to_rem(px: float, base: float = 16) -> float:
    return px / base

def rem_to_px(rem: float, base: float = 16) -> float:
    return rem * base

def px_to_vw(px: float, viewport: float = 1440) -> float:
    return (px / viewport) * 100

def px_to_pt(px: float) -> float:
    return px * 72 / 96

print(px_to_rem(24))     # → 1.5
print(rem_to_px(2.5))    # → 40.0
print(px_to_vw(720))     # → 50.0
print(px_to_pt(16))      # → 12.0
CSS (calc & custom properties)
/* Define a base scale using rem */
:root {
  --base: 16px;       /* root font-size */
  --space-1: 0.25rem; /* 4px */
  --space-2: 0.5rem;  /* 8px */
  --space-4: 1rem;    /* 16px */
  --space-8: 2rem;    /* 32px */
}

/* Fluid typography: scales between 1rem (16px) and 2.5rem (40px) */
h1 {
  font-size: clamp(1rem, 2.5vw + 0.5rem, 2.5rem);
}

/* Viewport-relative hero height */
.hero {
  height: calc(100vh - 4rem); /* full viewport minus 64px header */
}

/* Percentage-based grid */
.sidebar { width: 25%; }     /* 360px on 1440px screen */
.content { width: 75%; }     /* 1080px on 1440px screen */
SCSS (mixin)
// Reusable px-to-rem function in Sass
@use "sass:math";

$base-font-size: 16px !default;

@function rem($px) {
  @return math.div($px, $base-font-size) * 1rem;
}

// Usage
.card {
  padding: rem(24px);       // → 1.5rem
  margin-bottom: rem(32px); // → 2rem
  border-radius: rem(8px);  // → 0.5rem
  font-size: rem(14px);     // → 0.875rem
}

Häufig gestellte Fragen

Was ist der Standard-Root-Schriftgrad in Browsern?
Alle gängigen Browser (Chrome, Firefox, Safari, Edge) verwenden standardmäßig einen Root-Schriftgrad von 16px. Das bedeutet: 1rem = 16px, sofern weder Nutzer noch Stylesheet den Schriftgrad des html-Elements überschreiben. Manche Nutzer erhöhen diesen Wert in den Browser-Einstellungen für bessere Zugänglichkeit — deshalb ist rem für Text die bessere Wahl als px.
Wie rechne ich px in rem um?
Teile den Pixelwert durch den Root-Schriftgrad. Mit der Standard-Basis von 16px: 24px / 16 = 1.5rem. Wenn dein Projekt html { font-size: 10px } setzt (ein verbreiteter Reset), dann 24px / 10 = 2.4rem. Die Formel lautet immer: rem = px / Root-Schriftgrad.
Was ist der Unterschied zwischen rem und em?
rem ist relativ zum Schriftgrad des Root-Elements (des html-Tags), während em relativ zum Schriftgrad des übergeordneten Elements des aktuellen Elements ist. Das bedeutet: rem erzeugt konsistente Größen über die gesamte Seite, während em bei Verschachtelung potenziert. 2em innerhalb eines 2em-Elternelements werden 4× die Root-Größe. Verwende rem für globale Abstände und Schriftgrößen; verwende em, wenn die Größe relativ zur eigenen Textgröße der Komponente skalieren soll.
Wann sollte ich vw- oder vh-Einheiten verwenden?
Verwende vw für Elemente, die mit der Browser-Fensterbreite skalieren sollen, etwa vollbreitige Hero-Bereiche oder fließende Typografie (clamp mit vw). Verwende vh für Vollbild-Bereiche oder viewport-höhenbasierte Layouts. Sei vorsichtig mit vh auf mobilen Browsern, wo die Adressleiste die Viewport-Höhe verändert; die neuere Einheit dvh (dynamic viewport height) löst dieses Problem.
Kann ich verschiedene CSS-Einheiten in derselben Eigenschaft mischen?
Ja. Die CSS-Funktion calc() ermöglicht das Kombinieren beliebiger Einheiten in einem einzigen Ausdruck. Zum Beispiel subtrahiert width: calc(100vw - 2rem) 32px (bei Standardbasis) von der vollen Viewport-Breite. Du kannst Einheiten auch in clamp() mischen: font-size: clamp(1rem, 2vw + 0.5rem, 2.5rem) erzeugt fließende Typografie, die zwischen 16px und 40px skaliert.
Wie viele Pixel entsprechen 1pt in CSS?
In CSS gilt: 1pt = 1/72 Zoll, und 1 Zoll = 96px, also 1pt = 96/72 = 1,333px. Dieses Verhältnis ist in der CSS-Spezifikation unabhängig vom Bildschirm-DPI festgelegt. Punkte werden hauptsächlich in Print-Stylesheets und bei der PDF-Generierung verwendet. Für das Bildschirmdesign sind px oder rem die bessere Wahl.
Ist der 62,5%-Schriftgrad-Reset noch eine gute Praxis?
html { font-size: 62.5% } zu setzen macht 1rem = 10px, was die Kopfrechnung vereinfacht (24px = 2.4rem). Es erfordert jedoch, den Schriftgrad explizit am body-Element zu setzen, und kann Probleme mit Drittanbieter-Komponenten verursachen, die die Standard-Basis von 16px voraussetzen. Die moderne Empfehlung ist, den 16px-Standard beizubehalten und stattdessen eine Sass-Funktion oder ein PostCSS-Plugin für die Konvertierung zu verwenden.