induwara.lk
induwara.lkImage · Privacy-first

Passport Photo Maker — free, in your browser

Resize and crop a portrait to the exact passport, visa, or ID-photo spec for 24 countries — Sri Lanka, US, UK, Schengen, India, and more. 300 DPI output, optional print sheet, files never leave your device.

By Induwara AshinsanaUpdated May 11, 2026
Passport Photo Maker24 country presets · in-browser
Files stay on your device

Everything runs in your browser. Nothing is uploaded.

What this does

Loads your portrait into a canvas, scales and crops it to the exact photo size for your destination country, and exports a print-ready JPEG or PNG at 300 DPI. Drag the on-image face guide to centre the head, then pick your country preset on the right. Optional 6 × 4 in print sheet packs as many copies of the photo as fit.

Country / document
Output format
Photo size
35 × 45 mm
413 × 531 px @ 300 DPI
Head height
71–80%
Aim: 401 px (75.6%)
Background
White
#FFFFFF
Output bytes
Press Render to compute
Add a photo to start

Drop or pick a JPG, PNG, or WebP file above.

Specs sourced from each country's issuing authority. Last cross-checked 2026-05-11. See the "Sources & references" section below.

How it works

A passport-conforming photo is a three-rule problem: the file has to be a specific physical size (e.g. 35 × 45 mm), the head has to occupy a specific fraction of that area (e.g. 32–36 mm tall in a 45 mm photo), and the background has to be the colour the issuing authority wants. The tool above takes a portrait, treats those three rules as a deterministic geometry problem, and emits a print-ready file without uploading anything.

The pixel size of the output canvas is derived from the millimetre spec at a fixed 300 DPI — the resolution every photo lab the author has checked accepts without rescaling. The conversion is the NIST definition: 1 inch is exactly 25.4 mm, so the output width is round(widthMm / 25.4 × 300) and the height is the same with heightMm. A 35 × 45 mm Sri Lanka passport photo is therefore 413 × 531 px; a US 2 × 2 in photo is 600 × 600 px.

Given a desired head height — the midpoint of the country's published range — the scale factor that maps source pixels to output pixels is scale = headTargetPx / sourceHeadHeightPx. The crop rectangle in source coordinates has dimensions widthPx / scale × heightPx / scale, and is positioned so the crown of the head lands 10% from the top of the photo (the ICAO 9303 default; per-country head-height fractions account for everything else).

The rendering pipeline uses the same Canvas-API plumbing every modern browser ships: decode the file into an HTMLImageElement, paint the country's background colour as the canvas fill, then run the 9-argument form of drawImage with the computed source rectangle and the full output canvas as the destination. When the crop extends past the source bounds (e.g. a tightly framed selfie zoomed in to meet the 75% head rule), the tool paints the spec's official background colour into the letterbox area rather than stretching the image. Encoding goes through canvas.toBlob at quality 0.92 for JPEG, lossless for PNG.

A cross-check confirms the millimetre path agrees with the inch path: mm / 25.4 × dpi and in × dpi produce the same integer pixel count to within floating-point rounding noise, so the output dimensions match whether the spec publishes inches (US) or millimetres (most of the world).

Worked examples

US passport from a 3000 × 4000 phone photo

iPhone shot, head fills 1200 px. Target is a 2 × 2 inch square at 300 DPI.

  1. Source: 3,000 × 4,000 px
  2. Country preset: US passport / visa
  3. Target canvas: 600 × 600 px @ 300 DPI
  4. Head target: 59.4% = 356 px
  5. Scale factor: ×0.2969
  6. Crop rect: 2,021 × 2,021 at (489, 878)
  7. Letterbox: no
  8. Print sheet (6 × 4 in @ 300 DPI): 2 copies

Sri Lanka passport from a 2000 × 3000 source

Phone selfie at typical resolution, head 900 px. Target 35 × 45 mm at 300 DPI.

  1. Source: 2,000 × 3,000 px
  2. Country preset: Sri Lanka passport
  3. Target canvas: 413 × 531 px @ 300 DPI
  4. Head target: 75.6% = 401 px
  5. Scale factor: ×0.4458
  6. Crop rect: 926 × 1,191 at (537, 691)
  7. Letterbox: no
  8. Print sheet (6 × 4 in @ 300 DPI): 6 copies

Schengen visa from a 4032 × 3024 landscape source

Landscape DSLR frame, head 1000 px. The crop letterboxes onto a 35 × 45 mm portrait at 300 DPI.

  1. Source: 4,032 × 3,024 px
  2. Country preset: Schengen visa
  3. Target canvas: 413 × 531 px @ 300 DPI
  4. Head target: 75.6% = 401 px
  5. Scale factor: ×0.4012
  6. Crop rect: 1,029 × 1,324 at (1,501, 568)
  7. Letterbox: no
  8. Print sheet (6 × 4 in @ 300 DPI): 6 copies

Country specifications

Each preset on the tool maps to one row in the table below. Pixel dimensions are computed at 300DPI from the published millimetre spec. Head-height percentages reflect the issuing authority's tolerance range.

Country / documentPhoto (mm)Pixels @ 300 DPIHead heightBackground
Sri Lanka passport35 × 45413 × 5317180%White
US passport / visa50.8 × 50.8600 × 6005069%White
UK passport35 × 45413 × 5316476%Light grey
Schengen visa35 × 45413 × 5317180%White / light grey
India passport35 × 45413 × 5317080%White
Canada passport50 × 70591 × 8274451%White / light grey
Australia passport35 × 45413 × 5317180%White
New Zealand passport35 × 45413 × 5317180%White
ICAO 9303 (generic)35 × 45413 × 5317080%Plain light background
Germany passport35 × 45413 × 5317180%Light grey
France passport35 × 45413 × 5317180%Light grey
China visa33 × 48390 × 5675869%White
Japan passport35 × 45413 × 5317180%White
South Korea passport35 × 45413 × 5315678%White
Singapore passport35 × 45413 × 5315678%White
UAE visa43 × 55508 × 6506071%White
Malaysia passport35 × 50413 × 5917080%Blue
Thailand passport40 × 50472 × 5916580%White
Indonesia passport35 × 45413 × 5316580%Red
Pakistan passport35 × 45413 × 5317080%White
Bangladesh passport45 × 55531 × 6507080%White
Brazil passport50 × 70591 × 8277080%White
Russia visa35 × 45413 × 5317180%White
South Africa passport35 × 45413 × 5317080%White

Max input size 50 MB. Each country's spec is cited individually in the "Sources & references" section below.

Frequently asked questions

Sources & references

Related tools

Rate this tool
Be the first to rate

Comments & feedback

Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.

Found a country spec that needs updating, or want a new preset added?

Email me at [email protected] with the issuing authority's page — most updates ship within 24 hours.