1 dp = 1 CSS pixels
One Android dp equals one CSS pixel for layout purposes: both are density-independent references at 160 and 96 nominal dpi respectively, scaled by the device pixel ratio.
Formula px = dp × 1
Type in either field — the other updates on every keystroke. Need other units? Open the full pixels converter.
| Android dp (160 dpi) | CSS pixel |
|---|---|
| 1 dp | 1 px |
| 2 dp | 2 px |
| 3 dp | 3 px |
| 4 dp | 4 px |
| 5 dp | 5 px |
| 10 dp | 10 px |
| 15 dp | 15 px |
| 20 dp | 20 px |
| 25 dp | 25 px |
| 50 dp | 50 px |
| 100 dp | 100 px |
| 500 dp | 500 px |
| 1000 dp | 1000 px |
| CSS pixel | Android dp (160 dpi) |
|---|---|
| 1 px | 1 dp |
| 2 px | 2 dp |
| 3 px | 3 dp |
| 4 px | 4 dp |
| 5 px | 5 dp |
| 10 px | 10 dp |
| 15 px | 15 dp |
| 20 px | 20 dp |
| 25 px | 25 dp |
| 50 px | 50 dp |
| 100 px | 100 dp |
| 500 px | 500 dp |
| 1000 px | 1000 dp |
| Screen density | From | To (device pixels) |
|---|---|---|
| mdpi (160 dpi, 1×) | 48 dp | 48 px |
| hdpi (240 dpi, 1.5×) | 48 dp | 72 px |
| xhdpi (320 dpi, 2×) | 48 dp | 96 px |
| xxhdpi (480 dpi, 3×) | 48 dp | 144 px |
| xxxhdpi (640 dpi, 4×) | 48 dp | 192 px |
Device pixels = dp × (screen dpi ÷ 160). On a 2× screen, double the dp figure.
Android layouts are written in dp so they look the same on every screen. In CSS terms a dp is one CSS pixel, but a 48 dp touch target is 96 device pixels on a 2× screen.
Do not confuse dp with sp. Text is sized in sp, which also follows the user's font setting, while dp does not.
Android defines one dp as one physical pixel on a 160 dpi (mdpi) screen, and scales it up on denser displays.
Related guides: Digital and print layout units: px, rem, em, points and DPI