Android Pixel Calculator
dp
Density-independent Pixels
160.000
sp
Scale-independent Pixels
160
px
Pixels
120
mm
Millimeters
25.400
pt
Points
72
in
Inches
1
Check relation between the dp, px, sp, in, mm and pt measurement units and convert to other unit.
in
@
Android doesn't do direct pixel mapping, it uses Density Independent Pixel (dpi) values to scales the actual screen size
to calculate pixel density - getResources().getDisplayMetrics().density;
🗘 | in | dp | px | pt | mm | sp |
ldpi:~120 | | | | | | |
mdpi:~160 | | | | | | |
tvdpi:~213 | | | | | | |
hdpi:~240 | | | | | | |
xdpi:~320 | | | | | | |
xxdpi:~480 | | | | | | |
xxxdpi:~640 | | | | | | |
custom:~ | | | | | | |
Screen density is area of pixel quantity or total count of pixels in the vertical and horizontal directions. This pixel area measurement is referred to as dpi(dots per inch). In Android, densities categorized in 6 types:
ldpi (low) ~120dpimdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi
The ratio between dpi measurement are following
ldpimdpihdpixhdpixxhdpixxxhdpi
There are other measurement units require for handling like images, graph, layout etc for android app development. In this tool you can compare measurement unit among different measurement unit values
Kotlin
fun dpToPx(dp: Float, context: Context): Float { val scale = context.resources.displayMetrics.density return dp * scale } fun spToPx(sp: Float, context: Context): Float { val scale = context.resources.displayMetrics.scaledDensity return sp * scale } fun ptToPx(pt: Float, context: Context): Float { return pt * (1.0f / 0.75f) } fun inToPx(inch: Float, context: Context): Float { val dpi = context.resources.displayMetrics.densityDpi return inch * dpi } fun mmToPx(mm: Float, context: Context): Float { val inch = mm / 25.4f return inToPx(inch, context) }
Java
public class UnitConverter { public static float dpToPx(float dp, Context context) { float scale = context.getResources().getDisplayMetrics().density; return dp * scale; } public static float spToPx(float sp, Context context) { float scale = context.getResources().getDisplayMetrics().scaledDensity; return sp * scale; } public static float ptToPx(float pt, Context context) { return pt * (1.0f / 0.75f); } public static float inToPx(float inch, Context context) { int dpi = context.getResources().getDisplayMetrics().densityDpi; return inch * dpi; } public static float mmToPx(float mm, Context context) { float inch = mm / 25.4f; return inToPx(inch, context); } }