Portrait Score

The honest critique your friends won't give you. A 10-criterion rubric, scored 0 to 500, with notes on what to fix next.
Analyze
History
Analytics
Rubric
Settings
Private by design. Your API key and photo go directly from your browser to Anthropic. Nothing passes through any server we control. All scores and history are stored locally on this device.

The 10-criterion rubric

Each criterion is scored 0 to 5 and weighted. Weights sum to 100, so the total runs 0 to 500.
#CriterionWhat it measuresWeight

Tiers

Excellent 430+
Award-tier work. Holds up against the strongest portraiture you'd see in a major contest or feature.
Strong 380–429
Very good. Likely to land in a serious shortlist; one or two refinements from the top tier.
Solid 300–379
A real photograph with real virtues. Worth refining; identify your weakest criteria and reshoot or re-edit.
Below 300
Rough draft. Use the feedback to plan a stronger version: reshoot, recompose, or rethink the subject.

How the score works

For each criterion you get a 0–5 rating and a one-sentence rationale. Total = sum of (rating Γ— weight). The breakdown matters more than the headline number β€” your three lowest-scored criteria are where to focus next.

About

Portrait Score is a single static HTML file. Open-source, no server, no tracking, no analytics. The rubric is general-purpose portraiture β€” informed by what consistently differentiates strong work in editorial, documentary, and contest contexts. It is opinionated, not neutral; treat the score as a structured second opinion, not a verdict.
View source on GitHub β†’

Anthropic API key

Paste your Anthropic API key. The browser sends it directly to Anthropic on each analysis β€” it is never transmitted anywhere else, and is stored only in your browser's local storage. Cost per analysis runs roughly 5–25Β’ on Opus, 1–5Β’ on Sonnet, under 1Β’ on Haiku.
Don't have a key? It takes about a minute.
  1. Open console.anthropic.com and sign in (or create an account).
  2. Open Settings β†’ API Keys in the left nav.
  3. Click Create Key, give it a name, and copy the key (starts with sk-ant-).
  4. Paste it below and hit Save.
Add a few dollars of credit on the Billing page if your account is new β€” the API charges per request, not a subscription.