Image Resolution vs DPI: Complete Guide (2026)
Resolution, DPI, PPI - explained simply. When you need 72dpi vs 300dpi, how pixels and print work together.
Image Resolution vs DPI: Complete Guide (2026)
Resolution and DPI confuse everyone. Let me make it simple.
Short version:
- Web: Resolution matters, DPI doesn't
- Print: Both matter
What is Resolution?
Resolution = Pixels
| Term | Meaning |
|---|---|
| Pixel | Smallest unit of a digital image |
| Resolution | Total pixels (width × height) |
| Megapixels | Million pixels |
Example:
- 1920 × 1080 = 2,073,600 pixels = 2 megapixels
What is DPI/PPI?
| Term | Full Name | Meaning |
|---|---|---|
| DPI | Dots Per Inch | Printers output dots |
| PPI | Pixels Per Inch | Screen displays pixels |
For screens: Use PPI (but most people say DPI)
For print: DPI matters
Resolution for Web
Screen Resolution
| Screen | Resolution | Pixels |
|---|---|---|
| HD | 1280 × 720 | 0.9 MP |
| Full HD | 1920 × 1080 | 2.1 MP |
| 2K | 2560 × 1440 | 3.7 MP |
| 4K | 3840 × 2160 | 8.3 MP |
Web Image Sizing
Rule: Display at 100% size, or slightly larger
from PIL import Image
def recommend_web_size(original_path):
img = Image.open(original_path)
# Common display widths
widths = [1920, 1200, 800, 600]
for width in widths:
if img.width >= width:
ratio = width / img.width
height = int(img.height * ratio)
print(f"Display at {width}px wide: {width} × {height}px")
break
recommend_web_size('photo.jpg')
Web Resolution Doesn't Matter
/* This doesn't change resolution */
img {
width: 400px; /* Just CSS sizing */
}
The image is still full resolution, just displayed smaller.
Solution: Resize the actual image file.
Resolution for Print
Print Resolution Guidelines
| Print Size | Min Resolution | Recommended |
|---|---|---|
| 4×6" | 300 DPI | 1200 × 1800 |
| 8×10" | 300 DPI | 2400 × 3000 |
| 11×14" | 300 DPI | 3300 × 4200 |
| 16×20" | 300 DPI | 4800 × 6000 |
Calculate Print Resolution
def calculate_print_resolution(print_width, print_height, dpi=300):
"""Calculate required pixel dimensions for print"""
width_pixels = int(print_width * dpi)
height_pixels = int(print_height * dpi)
total_megapixels = (width_pixels * height_pixels) / 1_000_000
print(f"Required: {width_pixels} × {height_pixels} pixels")
print(f"Total: {total_megapixels:.1f} megapixels")
return width_pixels, height_pixels
calculate_print_resolution(8, 10, dpi=300)
# Output: Required: 2400 × 3000 pixels
# Total: 7.2 megapixels
DPI for Print
Standard: 300 DPI
Large viewing distance: 150-200 DPI OK
Billboards: 72 DPI often fine
Web vs Print
Web Image
# For 1920px wide display
img = Image.open('photo.jpg')
img = img.resize((1920, 1080), Image.Resampling.LANCZOS)
img.save('web.jpg', quality=85)
DPI doesn't matter for web. Just use appropriate pixel dimensions.
Print Image
# For 8×10" print at 300 DPI
img = Image.open('photo.jpg')
# Target: 2400 × 3000 pixels
target_width = 2400
target_height = 3000
# Resize maintaining aspect ratio
ratio = min(target_width / img.width, target_height / img.height)
new_size = (int(img.width * ratio), int(img.height * ratio))
img_resized = img.resize(new_size, Image.Resampling.LANCZOS)
# Set DPI metadata
img_resized.save('print.jpg', dpi=(300, 300))
Common Misconceptions
Misconception 1:72 DPI for Web
Wrong: 72 DPI doesn't matter for screens. Resolution (pixels) is all that matters.
Truth: Use appropriate pixel dimensions. 1920×1080 for full HD, etc.
Misconception 2: More DPI = Better Quality
Wrong: For screens, DPI in metadata is meaningless.
Truth: Pixel dimensions determine quality on screens.
Misconception 3: Scale Up DPI for Quality
Wrong: Can't add quality by increasing DPI without more pixels.
Truth: Higher DPI only matters for print.
Resolution Calculator
def resolution_calculator():
"""Calculate resolution requirements"""
print("=== Web Resolution ===")
for width in [1920, 1600, 1200, 800, 600]:
print(f"{width}px wide: {width}px")
print("\n=== Print Resolution (at 300 DPI) ===")
for size in [(4, 6), (5, 7), (8, 10), (11, 14), (16, 20)]:
w, h = size
print(f"{w}×{h} inch: {w*300}×{h*300}px = {w*h*300*300:,} pixels")
resolution_calculator()
Quick Reference
WEB (Screen):
1920px wide → Full HD display
1200px wide → Tablet
800px wide → Small laptop
600px wide → Mobile
PRINT (at 300 DPI):
4×6" → 1200×1800px
5×7" → 1500×2100px
8×10" → 2400×3000px
11×14" → 3300×4200px
FAQ
Q: What DPI for web images?
A: DPI doesn't matter for web. Just use right pixel dimensions.
Q: What DPI for print?
A: 300 DPI is standard. 150-200 DPI for large prints viewed from distance.
Q: Can I use 72 DPI images for web?
A: Yes, if they have enough pixels. 72 DPI metadata doesn't affect screen display.
Q: How do I check image resolution?
A: Right-click → Properties → Details. Or open in image editor.
Q: What resolution for Instagram?
A: 1080×1080px for square, 1080×1350px for portrait.
My Recommendation
For web: Resize to display dimensions. Don't worry about DPI.
For print: 300 DPI at final print size. Calculate required pixels first.
Tools: Imagic AI for resizing
Understanding resolution for 15+ years.