Editorial methodology

How we keep every consulate spec correct.

complypic is an independent service that generates compliant biometric photos for visas, passports and government IDs. We are not affiliated with any consulate or government. The specifications below describe how we research, validate and update each country's photo rules — and how to flag a problem.

Last reviewed:

How we source each spec

Every country page in complypic encodes one consulate's exact photo rules: outer dimensions in millimeters, head height (chin-to-crown) range, background color, resolution, recency and accessory rules (glasses, head covering, expression).

We start from the primary source — the consulate or immigration authority's published spec, the application portal's upload validator, and the official ICAO 9303 reference for biometric travel documents. We cross-check against the application service centers (BLS, VFS Global, CGI) that handle the appointment in many countries.

Where the consulate publishes ranges (e.g., 32–36 mm head height for Schengen), we encode the full range into our validator and target the safe middle when generating the output photo.

How we update specs

Every country spec is reviewed at least every 6 months. When a consulate publishes a change (rule update, file size limit, new portal), we update the spec, the AI generation prompt, and the FAQ within 5 business days. Major rule changes (background color change, glasses policy change) trigger an immediate update.

We monitor consulate websites, immigration authority press releases, BLS / VFS Global update notices, and reports from users who tell us a photo was rejected. Every reported rejection is investigated; the user gets a refund within 24 hours regardless.

The change log below records every spec change made since launch. Each entry includes the country, what changed, and the source.

How to report a problem

If a consulate, embassy or application service center rejects a photo we generated, send us proof of the rejection (rejection slip, screenshot, rescheduled appointment confirmation) via the contact form. We refund US$4.99 within 24 hours and investigate whether the spec needs updating. Your feedback directly drives our update cycle.

If you spot a typo, a wrong measurement, or an outdated reference on any landing page, please email us. We treat editorial corrections as a P1 issue.

If you'd like complypic to support a country or document we don't yet cover, the contact form has a 'Request' topic — we add new niches in priority order based on user demand.

Contact the maintainers →

Coverage today

complypic currently maintains specs for these documents:

Spec change log

  1. Wave 1 expansion: added Schengen multi-country visa landing, Colombia / Argentina / Chile / Peru / Ecuador passports, Nigeria passport, Vietnam / Thailand / Turkey visas, Belgian and Swiss passports.
  2. Editorial: published 28 troubleshooting guides (-rejected) covering common consulate rejection reasons for the existing transactional landings.
  3. Editorial: published 6 definition guides (what is a biometric photo, ICAO 9303, DPI, pixel dimensions) for AI Overview / Perplexity citation eligibility.
  4. Schema upgrade: added Organization-as-author (editorial team) to every landing's WebPage / Product / Service JSON-LD.
  5. Linking: every transactional landing now surfaces its related guides via a visible "Read the in-depth guide" strip between FAQ and Pricing.
  6. robots.txt: explicit allow rules for GPTBot, ChatGPT-User, PerplexityBot, ClaudeBot, Google-Extended and other AI crawlers.
  7. Wave 1 expansion: added China visa, DV Lottery, French passport, French CNI, French titre de séjour, Venezuela passport, Spain DNI.
  8. Schema upgrade: added QAPage and OnlineBusiness JSON-LD per landing for AI Overviews / Perplexity citation eligibility.
  9. Editorial: published this methodology page.