Drop a photo, get a JPEG with 300 DPI written in its header — plus exact pixel dimensions and file size if you need them. Nothing is uploaded; it all runs in your browser.
300 DPI is the conventional resolution for good-quality photo printing and the scan figure named by forms like India’s Sarathi driving-licence upload. In a digital file, DPI is a header label, not a property of the pixels — it tells software “treat 300 pixels as one inch” when computing a default print size. This page writes 300 into your JPEG’s JFIF density field and, if you set them, meets exact pixel dimensions and an exact file-size target at the same time. Everything runs in your browser; the photo never leaves your device.
Two honest facts most “DPI converter” sites skip. First: changing the DPI label changes zero pixels, so it cannot add sharpness or detail. Print quality is pixels versus print size — a 4×6-inch print at true 300 DPI needs 1200×1800 px, and no label makes a 600×400 image into that. Second: the label does matter to software that auto-sizes images — word processors, layout tools and some print kiosks read it to decide how large the image lands on the page (files without one are often assumed to be 72 DPI and come in huge). Setting an accurate label is the difference between an image that drops into a document at sensible size and one you have to wrestle.
Pixels = inches × 300 (or cm ÷ 2.54 × 300). A 2×2-inch photo at 300 DPI is exactly 600×600 px; 3.5×4.5 cm is about 413×531 px. Type the target into the Exact size field above and the output has both the pixels and the label. The main flow re-encodes the image (that’s how the exact-file-size guarantee works, and it strips GPS/EXIF on the way) — but if all you want is the label, the label-only button that appears with the result edits your original JPEG’s header in place: JFIF density and any existing EXIF resolution tags updated, every other byte untouched, no re-encode and no quality change. Forms that ask for 200 DPI instead: the 200 DPI page.