ToolDeck

Konwerter jednostek CSS

Konwertuj jednostki CSS między px, rem, em, vw, vh i %

px16
rem1
em1
vw1.111111
vh1.777778
%100
pt12
cm0.4233331
mm4.233331
in0.1666667

Czym jest konwersja jednostek CSS?

Konwerter jednostek CSS to narzędzie, które przelicza wartości długości między różnymi systemami pomiarowymi CSS. CSS definiuje ponad tuzin jednostek długości podzielonych na dwie grupy: jednostki bezwzględne, takie jak px, pt, cm i in, odpowiadające stałym wymiarom fizycznym, oraz jednostki względne, takie jak rem, em, vw, vh i %, których wartość zależy od kontekstu — rozmiaru czcionki lub wymiarów obszaru widoku.

Przeglądarki podczas renderowania przeliczają wszystkie długości CSS na piksele. Gdy napiszesz 1.5rem, przeglądarka mnoży 1.5 przez rozmiar czcionki głównej (zazwyczaj 16px), uzyskując 24px. Gdy napiszesz 50vw, bierze połowę bieżącej szerokości obszaru widoku. Zrozumienie tych zależności jest niezbędne do budowania układów skalujących się na różnych urządzeniach i respektujących preferencje użytkownika, takie jak własny rozmiar czcionki ustawiony w przeglądarce.

Specyfikacja CSS Values and Units Module Level 4 (W3C) definiuje dokładne współczynniki konwersji między jednostkami bezwzględnymi: 1in = 96px = 72pt = 2.54cm = 25.4mm. Jednostki względne nie mają stałego przelicznika, ponieważ zależą od kontekstu wykonania. Darmowy konwerter jednostek CSS pozwala błyskawicznie obliczać te zależności dla konkretnego rozmiaru czcionki głównej i wymiarów obszaru widoku, bez pisania jakiegokolwiek kodu.

Dlaczego warto używać konwertera jednostek CSS?

Ręczna konwersja jednostek CSS wymaga pamiętania przeliczników, sięgania po kalkulator i weryfikowania wyników. To narzędzie wykonuje konwersję w przeglądarce bez żadnego wysiłku.

Natychmiastowa konwersja
Wpisz wartość, wybierz jednostkę źródłową i od razu zobaczysz wyniki dla wszystkich 10 jednostek CSS. Nie musisz wykonywać osobnych obliczeń dla px na rem, px na vw czy px na pt.
🔒
Prywatność danych
Wszystkie konwersje są wykonywane lokalnie w przeglądarce. Żadne wartości nie są wysyłane na serwer, rejestrowane ani przechowywane. Zamknij kartę — dane znikają.
🎯
Dopasowanie do własnego kontekstu
Ustaw rozmiar czcionki głównej, szerokość obszaru widoku, wysokość obszaru widoku i rozmiar czcionki rodzica. Konwerter używa tych wartości do obliczenia dokładnych wyników dla jednostek rem, em, vw, vh i %.
📏
Obsługa wszystkich jednostek długości CSS
Obsługuje px, rem, em, vw, vh, %, pt, cm, mm i in. Niezależnie od tego, czy pracujesz z układami ekranowymi, arkuszami stylów do druku, czy responsywną typografią — każda jednostka jest uwzględniona.

Zastosowania konwertera jednostek CSS

Programowanie frontendowe
Przelicz wartości pikselowe z pliku projektu na rem dla biblioteki komponentów. Gdy makieta Figma określa odstęp 24px, przekonwertuj to na 1.5rem, aby układ skalował się zgodnie z preferencjami użytkownika dotyczącymi rozmiaru czcionki.
Programowanie backendowe i full-stack
Generuj szablony PDF lub e-mail, w których wymiary podane są w pt lub cm. Przekonwertuj pikselowe wartości CSS na rozmiary punktowe gotowe do druku, używając narzędzi do renderowania po stronie serwera, takich jak Puppeteer lub wkhtmltopdf.
DevOps i pipeline CI
Weryfikuj, czy tokeny odstępów w systemie projektowym używają spójnych jednostek na wszystkich etapach budowania. Szybko sprawdź, czy baza 16px generuje oczekiwane wartości rem w wygenerowanym CSS.
QA i testowanie wizualne
Weryfikuj obliczone style podczas testowania wieloprzeglądarkowego. Gdy Chrome DevTools pokazuje obliczoną wartość 14.4px, przekonwertuj ją na rem, aby potwierdzić zgodność z oczekiwanym 0.9rem z arkusza stylów.
Wizualizacja danych
Skaluj elementy SVG lub canvas względem wymiarów obszaru widoku. Przekonwertuj stałe szerokości wykresów wyrażone w pikselach na jednostki vw, aby wizualizacje zajmowały stały procent ekranu na różnych monitorach.
Nauka CSS
Zrozum zależność między rem, em a px, eksperymentując z różnymi rozmiarami bazowymi. Zmień rozmiar czcionki głównej z 16px na 18px i obserwuj, jak zmienia się każda wartość rem.

Dokumentacja jednostek długości CSS

CSS definiuje 10 powszechnie używanych jednostek długości. Jednostki bezwzględne mają stały przelicznik na piksele. Jednostki względne zależą od kontekstu: rozmiar czcionki głównej dla rem, rozmiar czcionki rodzica dla em, a obszar widoku przeglądarki dla vw i vh.

JednostkaNazwaDomyślny rozmiarWzględna wobec
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)

Jednostki bezwzględne a względne w CSS

Wybór między jednostkami bezwzględnymi a względnymi wpływa na to, jak układ reaguje na różne ekrany i ustawienia użytkownika. Każda grupa ma inne zalety i ograniczenia.

Jednostki bezwzględne (px, pt, cm, mm, in)
Jednostki bezwzględne dają ten sam fizyczny rozmiar niezależnie od kontekstu. Używaj px do obramowań, cieni i elementów, które nie powinny się skalować. Używaj pt do arkuszy stylów dla druku. Specyfikacja CSS definiuje 1in = 96px, choć rzeczywisty rozmiar fizyczny może się różnić w zależności od DPI wyświetlacza.
Jednostki względne (rem, em, vw, vh, %)
Jednostki względne skalują się wraz z kontekstem odniesienia. Używaj rem do rozmiarów czcionek i odstępów, aby respektować preferencje użytkownika. Używaj em do wewnętrznego skalowania komponentów (padding względem własnego rozmiaru czcionki elementu). Używaj vw/vh do układów wypełniających obszar widoku, takich jak sekcje hero.

Tabela konwersji px na rem

Tabela zakłada rozmiar czcionki głównej wynoszący 16px (domyślny w przeglądarce). Jeśli projekt używa innej bazy, podziel wartość pikselową przez tę bazę, aby uzyskać odpowiednik w rem.

pxremptTypowe zastosowanie
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

Przykłady kodu

Poniższe przykłady pokazują, jak programowo konwertować jednostki CSS w JavaScript, Python, niestandardowych właściwościach CSS i Sass.

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
}

Często zadawane pytania

Jaki jest domyślny rozmiar czcionki głównej w przeglądarkach?
Wszystkie główne przeglądarki (Chrome, Firefox, Safari, Edge) domyślnie ustawiają rozmiar czcionki głównej na 16px. Oznacza to, że 1rem = 16px, chyba że użytkownik lub arkusz stylów nadpisze rozmiar czcionki elementu html. Niektórzy użytkownicy zwiększają tę wartość w ustawieniach przeglądarki dla ułatwienia dostępu — właśnie dlatego rem jest lepszym ustawieniem domyślnym dla tekstu niż px.
Jak przeliczać px na rem?
Podziel wartość pikselową przez rozmiar czcionki głównej. Przy domyślnej bazie 16px: 24px / 16 = 1.5rem. Jeśli projekt ustawia html { font-size: 10px } (popularny reset), to 24px / 10 = 2.4rem. Wzór jest zawsze taki sam: rem = px / rozmiar-czcionki-głównej.
Jaka jest różnica między rem a em?
rem odnosi się do rozmiaru czcionki elementu głównego (tag html), natomiast em odnosi się do rozmiaru czcionki rodzica bieżącego elementu. Oznacza to, że rem daje spójne rozmiary na całej stronie, podczas gdy em kumuluje się przy zagnieżdżaniu. Wartość 2em wewnątrz rodzica z 2em staje się 4-krotnością rozmiaru głównego. Używaj rem do globalnych odstępów i rozmiarów czcionek; używaj em, gdy rozmiar ma się skalować względem własnego tekstu komponentu.
Kiedy używać jednostek vw lub vh?
Używaj vw dla elementów, które powinny skalować się z szerokością okna przeglądarki, takich jak pełnoszerokościowe sekcje hero lub płynna typografia (clamp z vw). Używaj vh dla sekcji pełnoekranowych lub układów o wysokości obszaru widoku. Uważaj z vh w przeglądarkach mobilnych, gdzie pasek adresu zmienia wysokość obszaru widoku — nowsza jednostka dvh (dynamiczna wysokość obszaru widoku) rozwiązuje ten problem.
Czy można mieszać różne jednostki CSS w tej samej właściwości?
Tak. Funkcja CSS calc() pozwala łączyć dowolne jednostki w jednym wyrażeniu. Na przykład width: calc(100vw - 2rem) odejmuje 32px (przy domyślnej bazie) od pełnej szerokości obszaru widoku. Można też łączyć jednostki w clamp(): font-size: clamp(1rem, 2vw + 0.5rem, 2.5rem) tworzy płynną typografię skalującą się od 16px do 40px.
Ile pikseli ma 1pt w CSS?
W CSS 1pt = 1/72 cala, a 1 cal = 96px, więc 1pt = 96/72 = 1.333px. Ten przelicznik jest stały w specyfikacji CSS niezależnie od DPI ekranu. Punkty są używane głównie w arkuszach stylów dla druku i generowaniu PDF. Do projektowania ekranowego lepsze są px lub rem.
Czy reset czcionki do 62.5% to nadal dobra praktyka?
Ustawienie html { font-size: 62.5% } sprawia, że 1rem = 10px, co upraszcza obliczenia w głowie (24px = 2.4rem). Wymaga jednak jawnego ustawienia font-size na elemencie body i może powodować problemy z komponentami firm trzecich, które zakładają domyślną bazę 16px. Współczesne podejście to zachowanie domyślnej wartości 16px i obsługa konwersji za pomocą funkcji Sass lub wtyczki PostCSS.