Editorial policy
Anfas.Pro publishes verified photo requirements for government-issued documents. Our content is used by people whose travel plans, residency status and livelihoods depend on getting these details right. Here is how we keep that responsibility.
Source-first
Every document specification on this site is traced to a primary source: an authority website, an official PDF, an embassy notice, or an ICAO 9303 reference where no national rules are published. The source URL and verification date are visible on each leaf page.
We do not paraphrase from competitor sites. Where we cite a number, we either reproduce the authority's exact phrasing or convert units explicitly (mm ↔ pixels at the declared dpi).
Verification levels
- Official — exact: the authority publishes a numeric specification we reproduce verbatim.
- Official — general: the authority publishes prose guidance which we translate into measurable parameters.
- ICAO baseline (Draft): no national specification is published; we fall back to ICAO 9303 defaults and mark the profile as Draft.
Only profiles at the first two levels are indexed for search. ICAO baseline profiles remain accessible but are excluded from sitemaps.
Editorial review tiers (honest signal)
Every leaf page carries an editorial-review status that reflects what verification work has actually been done — not a marketing-flavoured "all reviewed" claim.
- compile-source-check: photo specification was extracted from the authority page during the initial data compilation, with no further narrative review.
- single-reviewer-cited: the photo specification was compiled and cited by one internal reviewer against current gov-source documentation, with country-unique quirks identified. Pending external review by an independent domain expert. The review strip on each leaf page shows this tier honestly: "Compiled and cited by [reviewer] — pending external review".
- independently-reviewed: reserved for profiles re-verified by a SEPARATE named domain expert (not the original reviewer). At the time of writing, no profile carries this tier — the external editor pipeline is being set up.
By Google YMYL quality-rater standards, a single reviewer signing off 218 documents in a short window does not constitute "independent" review. The three-tier model surfaces this distinction rather than hiding it behind a uniform date stamp.
Rejection-code provenance
Where leaf pages enumerate rejection reasons (e.g. UK P01-P15),
each code carries a provenance tag:
- authority-published: the authority publishes a rejection-code catalogue (UK HMPO, US State Department review criteria, German BSI TR-03121). These codes are reproduced verbatim.
- derived-from-rule: the authority publishes a rule (e.g. "no glasses") and we synthesise a corresponding rejection code with consistent ID format.
- synthesized: a plausible code mnemonic for a common failure mode where the authority does not publish a code catalogue. Useful for cross-referencing within Anfas.Pro; clearly labelled to avoid mistaking it for an authority code.
Automated quality gates
Six checks run before every build, with two more available on demand:
npm run check— schemas, links, snapshots, redirects, sitemaps, jargon, meta budgets.check:a11y— WCAG 2.1 AA via axe-core (10 representative pages).check:cwv— Lighthouse Core Web Vitals against a 9-page sample.check:translations— fails build if any declared locale falls below 100 % label/spec coverage.check:localization— strict per-locale coverage + lint (numeric specs preserved, code IDs preserved, no Cyrillic in non-Cyrillic locales).check:sources— HTTP liveness of every cited authority URL.check:freshness— flags profiles where the reviewer-log entries reference only secondary (non-gov) sources, or where the last verification is over 1 year old.check:consistency— flags drift between the narrative dimension claims (e.g. "40×60 mm") and the underlyingprintSpec(which drives the photo generator).
Build-time locale gating: any locale below 80 % translation coverage
is automatically excluded from publishedLangs — meaning
no HTML is generated for that locale, no sitemap entry is emitted,
and no hreflang tag points to it. This prevents
mixed-language pages from reaching Google.
Freshness and corrections
We re-verify profiles when a country publishes a regulatory update, when a reader reports a change, or on a quarterly review — whichever comes first. The newest verification date is shown on each page and in our sitemaps. If you spot something wrong, write to hello@anfas.pro with the page URL and the source you found; we publish corrections within 7 days and keep a public change log.
What we do not do
- No AI-generated content without expert review. Every page is read end-to-end before publishing.
- No guaranteed acceptance claims. The final decision is always the issuing authority's.
- No image retouching that changes biometric features. Our tool normalises framing, background and exposure — it does not alter facial geometry.
- No advertising or sponsored placement on document specification pages.
Less common but verified document formats
These countries have fewer than three verified specifications on Anfas.Pro. Each link below points to a leaf page with the exact size, background, head ratio, and the official source the spec was traced to.
- Arabia Saudyjska Wiza photo
- Argentyna Paszport photo (40 × 40 mm)
- Argentyna Wiza photo (40 × 40 mm)
- Armenia Karta pobytu photo (35 × 45 mm)
- Armenia Paszport Armenii photo (35 × 45 mm)
- Australia Paszport photo (35 × 45 mm)
- Bangladesz Wiza photo (35 × 45 mm)
- Białoruś Wiza photo (35 × 45 mm)
- Brazylia Paszport photo (50 × 70 mm)
- Brazylia Wiza photo (35 × 45 mm)
- Bułgaria Paszport photo (35 × 45 mm)
- Bułgaria Wiza photo (35 × 45 mm)
- Chile Karta pobytu photo
- Chorwacja Paszport chorwacki photo (35 × 45 mm)
- Chorwacja Wiza photo (35 × 45 mm)
- Cypr Wiza photo (35 × 45 mm)
- Dania Paszport photo (35 × 45 mm)
- Dania Prawo jazdy photo (35 × 45 mm)
- Egipt Paszport egipski photo (51 × 51 mm)
- Egipt Wiza photo (51 × 51 mm)
- Estonia Wiza / zdjęcie konsularne photo (40 × 50 mm)
- Estonia Zdjęcie do dokumentów photo (40 × 50 mm)
- Filipiny Paszport photo
- Filipiny Wiza photo (51 × 51 mm)
- Finlandia Dowód osobisty photo (36 × 47 mm)
- Finlandia Paszport photo (36 × 47 mm)
- Grecja Paszport grecki photo (40 × 60 mm)
- Indonezja Wiza photo
- Irlandia Paszport photo (35 × 45 mm)
- Irlandia Wiza photo (35 × 45 mm)
- Japonia Paszport photo (35 × 45 mm)
- Japonia Wiza photo (35 × 45 mm)
- Korea Południowa Paszport photo (35 × 45 mm)
- Korea Południowa Wiza photo (35 × 45 mm)
- Litwa Dowód osobisty photo (35 × 45 mm)
- Litwa Paszport photo (35 × 45 mm)
- Malezja Paszport photo (35 × 50 mm)
- Malta Paszport photo (30 × 40 mm)
- Meksyk Wiza photo
- Nigeria Paszport photo (35 × 45 mm)
- Nowa Zelandia Paszport photo
- Pakistan Wiza photo (35 × 45 mm)
- RPA Paszport photo (35 × 45 mm)
- RPA Wiza photo (35 × 45 mm)
- Rumunia Wiza krajowa typu D photo (30 × 40 mm)
- Rumunia Wiza Schengen typu C photo (35 × 45 mm)
- Singapur Paszport photo
- Słowenia Paszport photo (35 × 45 mm)
- Słowenia Wiza krajowa typu D photo (35 × 45 mm)
- Szwajcaria Dowód osobisty photo (35 × 45 mm)
- Szwajcaria Paszport photo (35 × 45 mm)
- Węgry Paszport photo (35 × 45 mm)
- Włochy Dowód osobisty photo (35 × 45 mm)