Skip to content

Score Your OG Image Before You Ship

Upload a card or paste any page URL and get an honest hundred-point grade — dimensions, text weight, contrast and how well the palette matches the site behind the link.

Drag a PNG, JPEG or WebP here — up to 5 MB.

How the OG Score Is Calculated

Every OG image is graded on the same seven dimensions and 100-point scale. The rubric below is what the scorer runs on your image — no black box, no vendor bias. Use it as a checklist even without the tool.

CriterionWeightPasses when…Fails when…
Dimensions20Exact 1200×630 pixels — the canonical Open Graph size that every platform (Facebook, LinkedIn, X, Slack, Discord) crops and scales the least.Any other ratio. Squares, 4:3 screenshots and 1200×628 all lose margin to letterboxing or platform-side re-cropping.
Safe area15A 32-pixel breathing gutter around the frame. Headlines, logos and price stamps stay inside — nothing is cut when previews render at 60% width.Text or subject touching the edge. Twitter and iOS Messages crop up to 24px on each side; content that lives there disappears.
Text density20One headline plus at most one short supporting line. Text covers under 15% of the frame — the eye reads it in one glance.Slide-deck syndrome: multi-line paragraphs, bullet lists, feature grids. Above 30% coverage the card stops being scannable in a feed.
Color restraint15Three or four active hues at most — usually a background, a text color and a single accent. Feels intentional, not stock-illustration busy.Five or more competing hues, rainbow gradients or emoji storms. Thumbnails compress and the card turns into noise.
Contrast10Peak text-to-background contrast ≥ 4.5 : 1 (WCAG AA). Headline stays legible when the card is downscaled to a 160px thumbnail.Low-contrast pairs — grey on grey, pastel on pastel. The card looks fine on a Retina laptop and vanishes on a phone lock screen.
Site tone match10Card palette overlaps the site's own theme color (ΔE ≤ 20) — the share feels like it belongs to the page it links to.Generic stock template that ignores the source page. The click-through feels like a bait-and-switch. Score with a page URL to run this check automatically.
File & format10Between 30 KB and 400 KB, served as PNG, JPEG or WebP. Fast to fetch for crawlers, clean edges on Retina.Over-compressed (< 30 KB, mushy text) or bloated (> 1 MB — X and Slack throttle). AVIF, GIF or SVG that some crawlers ignore.
Ship it
90–100

Share as-is. No blocker.

Solid
75–89

Fix one or two nits before ship.

Needs work
60–74

Rework text or color first.

Rebuild
0–59

Regenerate from scratch.

How to Score an OG Image with Oginify

No sign-in, no upload storage. The scorer runs in your browser except for the one server call that fetches the og:image behind a URL.

  1. Step 1

    Drop the image or paste a URL

  2. Step 2

    Read the seven-dimension breakdown

  3. Step 3

    Fix the failing dimensions

Why Score Before You Ship

Preview tools show the image. The scorer tells you whether it holds up in a real feed.

Objective, not vibes

Seven measurable checks with a fixed 100-point weighting — no reviewer taste, no house style bias.

Catches the LinkedIn thumbnail failure

Contrast and safe-area checks flag the exact reason a card looks fine on your Retina laptop and vanishes on a phone lock screen.

Site-tone match, not template match

When you paste a URL the scorer reads the page's theme color and grades the image against your brand — not against a fixed style.

Private by default

Uploads stay in the browser tab. URL scoring hits our server only to fetch the public og:image behind that page.

OG Scorer vs. Facebook Debugger vs. Manual Review

Debugger tools clear caches. Manual review checks the vibe. The OG Scorer measures the seven things that actually decide whether the card gets clicked.

Oginify OG Scorer
7 checks, 100 points
Facebook Sharing Debugger
Cache flush + meta echo
Manual review
Eyeball it in Slack
Dimensions checkExact-pixel scoringShows detected sizeDepends on the reviewer
Text density (PPT feel)Heuristic coverage scoreNot testedSubjective
Site-tone / brand matchCompares to page theme colorNot testedSubjective
Contrast for small thumbnailsWCAG ratio scoredNot testedRarely spotted before ship
Cache flush after fixNot this tool's jobThis is what it does bestN/A
CostFree · no loginFree · Meta loginReviewer's time
Best forGrading the card itselfRefreshing cached previewsNothing you can measure

Where the Scorer Earns Its Keep

Point it at a URL or upload the PNG — get a 100-point breakdown across dimensions, safe area, text density, contrast and file weight.

Pre-publish QA

Catch a Broken Card Before It Ships

Run the URL through the scorer during code review — flags off-spec dimensions, oversized files and low-contrast text before merge.

Batch audit

Grade an Entire Sitemap Overnight

Feed URLs page by page, export the 100-point grade per route, sort by the lowest score to know which cards to redo first.

Regression check

Diff a Redesign Against the Old Card

Score the previous PNG and the new one side by side to prove the refresh actually raised text-density and contrast.

OG Image Scorer FAQ

What the scorer checks, how uploads are handled, and how to read the grade.

What counts as a good Open Graph score?

90+ (Ship it) means the card is safe to publish. 75–89 (Solid) means one or two fixes before ship. Under 60 (Rebuild) means the base layout is fighting you — regenerate from scratch rather than patching.

Do you store the images I upload?

No. Uploads are decoded and scored inside your browser tab and never leave the device. The only server call is when you paste a page URL — we fetch that page's public og:image, score it, and discard the bytes.

Which image dimensions does the scorer treat as canonical?

1200×630 pixels. Facebook, LinkedIn, X, Slack and Discord all crop and rescale the least at this size. 1200×628, squares and 4:3 screenshots lose points because platforms letterbox or re-crop them.

How does the site-tone match work?

When you paste a page URL, the scorer reads the page's <meta name="theme-color"> and compares it to the dominant colors of the og:image using ΔE distance. A close match (ΔE ≤ 20) is 10/10; a loose match is 6/10; no overlap is 2/10. Upload-only mode falls back to internal palette harmony.

Why does my card fail the 'text density' check even without a paragraph?

The scorer treats any 10×10 grid cell with high local contrast and many horizontal edges as text-like — that includes screenshots of UI, dense charts and code blocks. A card that reads as a slide, not a headline, will fail this check even without literal prose.

Can I use the scorer inside my own build pipeline?

The scoring rubric is a public checklist — the same seven dimensions apply whether you run the web tool or build your own linter. A programmatic API isn't shipped yet; email hello@oginify.com if you need one for your CI.

Score first. Then regenerate what fails.

A failing card gets a fresh 1200×630 in one paragraph — same rubric, cleaner output.