En CSS-enhetskonverterare är ett verktyg som översätter längdvärden mellan olika CSS-måttsystem. CSS definierar över ett dussin längdenheter, uppdelade i två grupper: absoluta enheter som px, pt, cm och in som mappas till fasta fysiska mått, och relativa enheter som rem, em, vw, vh och % som beror på kontext som teckenstorlek eller visningsfönstrets dimensioner.
Webbläsare omvandlar alla CSS-längder till pixlar vid rendering. När du skriver 1.5rem multiplicerar webbläsaren 1.5 med rotelementets teckenstorlek (vanligtvis 16px) och får 24px. När du skriver 50vw tar den hälften av det aktuella visningsfönstrets bredd. Att förstå dessa samband är nödvändigt för att bygga layouter som skalas över enheter och respekterar användarpreferenser som anpassade teckenstorlekar inställda i webbläsaren.
Specifikationen CSS Values and Units Module Level 4 (W3C) definierar de exakta konverteringskvoterna mellan alla absoluta enheter: 1in = 96px = 72pt = 2.54cm = 25.4mm. Relativa enheter har ingen fast kvot eftersom de beror på körtidskontext. En gratis CSS-enhetskonverterare låter dig beräkna dessa samband omedelbart givet din specifika rotelements-teckenstorlek och visningsfönsterdimensioner, utan att skriva någon kod.
Varför använda en CSS-enhetskonverterare?
Att konvertera mellan CSS-enheter för hand innebär att komma ihåg kvoter, plocka fram en kalkylator och dubbelkontrollera beräkningarna. Det här verktyget gör konverteringen i din webbläsare utan friktion.
⚡
Konvertera direkt
Ange ett värde, välj källenheten och se resultaten i alla 10 CSS-enheter på en gång. Inget behov av att köra separata beräkningar för px-till-rem, px-till-vw eller px-till-pt.
🔒
Håll dina data privata
Alla konverteringar körs lokalt i din webbläsare. Inga värden skickas till en server, loggas eller lagras. Stäng fliken och datan är borta.
🎯
Matcha din exakta kontext
Ange din rotelements-teckenstorlek, visningsfönstrets bredd, visningsfönstrets höjd och förälderelementets teckenstorlek. Konverteraren använder dessa värden för att producera korrekta resultat för rem, em, vw, vh och %-enheter.
📏
Täck alla CSS-längdenheter
Stödjer px, rem, em, vw, vh, %, pt, cm, mm och in. Oavsett om du arbetar med skärmlayouter, utskriftsstilmallar eller responsiv typografi täcks varje enhet.
Användningsfall för CSS-enhetskonverterare
Frontend-utveckling
Konvertera en designfils pixelvärden till rem för ett komponentbibliotek. När en Figma-mockup anger 24px avstånd, konvertera det till 1.5rem så att layouten skalas med användarens teckenstorlekspreferens.
Backend- och fullstackutveckling
Generera PDF- eller e-postmallar där mått anges i pt eller cm. Konvertera dina CSS-pixelvärden till utskriftsfärdiga punktstorlekar för rendering på serversidan med verktyg som Puppeteer eller wkhtmltopdf.
DevOps och CI-pipelines
Validera att ett designsystems avståndstokens använder konsekventa enheter över byggsteg. Verifiera snabbt att en 16px-bas ger de förväntade rem-värdena i genererad CSS.
QA och visuell testning
Verifiera beräknade stilar vid webbläsarövergripande testning. När Chrome DevTools visar ett beräknat värde på 14.4px, konvertera det till rem för att bekräfta att det matchar den förväntade 0.9rem från stilmallen.
Datavisualisering
Dimensionera SVG- eller canvas-element relativt till visningsfönstrets dimensioner. Konvertera fasta pixel-diagrambredder till vw-enheter så att visualiseringar fyller en konsekvent procentandel av skärmen på olika bildskärmar.
Lär dig CSS
Förstå sambandet mellan rem, em och px genom att experimentera med olika basstorlekar. Ändra rotelementets teckenstorlek från 16px till 18px och se hur varje rem-värde förändras.
Referens för CSS-längdenheter
CSS definierar 10 vanligt använda längdenheter. Absoluta enheter har en fast konvertering till pixlar. Relativa enheter beror på kontext: rotelementets teckenstorlek för rem, förälderelementets teckenstorlek för em och webbläsarens visningsfönster för vw och vh.
Enhet
Namn
Standardstorlek
Relativt till
px
Pixel
1px
Fixed; 1px = 1/96 of 1in on screens
rem
Root em
16px (default)
Relative to <html> font-size
em
Em
Inherited
Relative to parent element font-size
vw
Viewport width
1% of viewport
Relative to browser window width
vh
Viewport height
1% of viewport
Relative to browser window height
%
Percentage
Varies
Relative to parent property value
pt
Point
1.333px
Print unit; 1pt = 1/72 of 1in
cm
Centimeter
37.795px
Physical unit; 1cm = 96px / 2.54
mm
Millimeter
3.7795px
Physical unit; 1mm = 1cm / 10
in
Inch
96px
Physical unit; 1in = 96px (CSS spec)
Absoluta kontra relativa CSS-enheter
Valet mellan absoluta och relativa enheter påverkar hur din layout svarar på olika skärmar och användarinställningar. Varje grupp har distinkta avväganden.
Absoluta enheter (px, pt, cm, mm, in)
Absoluta enheter ger samma fysiska storlek oavsett kontext. Använd px för ramar, skuggor och element som inte ska skalas. Använd pt för utskriftsstilmallar. CSS-specifikationen definierar 1in = 96px, men faktisk fysisk storlek varierar beroende på skärmens DPI.
Relativa enheter (rem, em, vw, vh, %)
Relativa enheter skalas med sin referenskontext. Använd rem för teckenstorlekar och avstånd för att respektera användarpreferenser. Använd em för komponentintern skalning (padding relativt till elementets egen teckenstorlek). Använd vw/vh för visningsfönsterfyllande layouter som hero-sektioner.
Vanlig konverteringstabell px till rem
Denna tabell förutsätter en rotelements-teckenstorlek på 16px (webbläsarens standard). Om ditt projekt använder en annan bas, dividera pixelvärdet med din bas för att få rem-motsvarigheten.
px
rem
pt
Typisk användning
10
0.625
7.5
Small caption text
12
0.75
9
Body text (compact)
14
0.875
10.5
Default body text
16
1
12
Root font-size (browser default)
18
1.125
13.5
Large body text
20
1.25
15
H4 heading
24
1.5
18
H3 heading
32
2
24
H2 heading
48
3
36
H1 heading
64
4
48
Display / hero text
Kodexempel
Dessa exempel visar hur man konverterar CSS-enheter programmatiskt i JavaScript, Python, CSS custom properties och 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
Vad är standardrotelementets teckenstorlek i webbläsare?
Alla större webbläsare (Chrome, Firefox, Safari, Edge) har en standardrotelements-teckenstorlek på 16px. Det innebär att 1rem = 16px om inte användaren eller en stilmall åsidosätter html-elementets teckenstorlek. Vissa användare ökar detta i webbläsarinställningarna för tillgänglighet, vilket är anledningen till att rem är ett bättre standardval för text än px.
Hur konverterar jag px till rem?
Dividera pixelvärdet med rotelementets teckenstorlek. Med standardbasen 16px: 24px / 16 = 1.5rem. Om ditt projekt ställer in html { font-size: 10px } (en vanlig återställning), blir 24px / 10 = 2.4rem. Formeln är alltid: rem = px / root-font-size.
Vad är skillnaden mellan rem och em?
rem är relativt till rotelementets teckenstorlek (html-taggen), medan em är relativt till det aktuella elementets förälders teckenstorlek. Det innebär att rem ger konsekvent storlek över hela sidan, medan em ackumuleras vid kapsling. En 2em inuti ett 2em-förälderelement blir 4x rotstorleken. Använd rem för globalt avstånd och teckenstorlekar; använd em när du vill att storleken ska skalas relativt till komponentens egen text.
När ska jag använda vw- eller vh-enheter?
Använd vw för element som ska skalas med webbläsarfönstrets bredd, som fullbredd-hero-sektioner eller flytande typografi (clamp med vw). Använd vh för helskärmssektioner eller visningsfönsterhöjds-layouter. Var försiktig med vh på mobila webbläsare där adressfältet ändrar visningsfönstrets höjd; den nyare dvh-enheten (dynamisk visningsfönsterhöjd) löser detta.
Kan jag blanda olika CSS-enheter i samma egenskap?
Ja. CSS-funktionen calc() låter dig kombinera vilka enheter som helst i ett enda uttryck. Till exempel subtraherar width: calc(100vw - 2rem) 32px (vid standardbasen) från hela visningsfönstrets bredd. Du kan också blanda enheter i clamp(): font-size: clamp(1rem, 2vw + 0.5rem, 2.5rem) skapar flytande typografi som skalas mellan 16px och 40px.
Hur många pixlar är 1pt i CSS?
I CSS är 1pt = 1/72 av en tum, och 1 tum = 96px, så 1pt = 96/72 = 1,333px. Denna kvot är fast i CSS-specifikationen oavsett skärmens DPI. Punkter används främst i utskriftsstilmallar och PDF-generering. För skärmdesign är px eller rem bättre val.
Är 62,5 % teckenstorleksåterställning fortfarande god praxis?
Att ange html { font-size: 62.5% } gör att 1rem = 10px, vilket förenklar huvudräkning (24px = 2.4rem). Det kräver dock att du explicit anger teckenstorlek på body-elementet och kan orsaka problem med tredjepartskomponenter som förutsätter standardbasen på 16px. Den moderna preferensen är att behålla 16px-standarden och använda en Sass-funktion eller PostCSS-plugin för att hantera konverteringen istället.