Glossary
What is an OG image?
The preview picture other apps show when your link gets shared.
Updated 2026-09-09
An OG image is the graphic platforms display alongside your link when someone shares it, set with the og:image meta tag from the Open Graph protocol.
Open Graph came out of Facebook in 2010 and turned into the default way the web describes a page to other apps. Four tags do most of the work: og:title, og:description, og:image, and og:url. X reads its own twitter:card and twitter:image tags and falls back to Open Graph when they are missing, which is why one good set of OG tags covers most places your link travels.
1200 by 630 is the size to build for. It crops cleanly across Slack, X, LinkedIn, and iMessage. Use an absolute https URL, keep the file light so previews render fast, and declare og:image:width and og:image:height so clients do not have to guess the layout.
The interesting part is generating them per page. Frameworks can render a card at request time from a React component, so every tool page, post, or product gets its own card with real text instead of one shared logo image. That is a meaningful click through difference when your links get shared a lot.
Minimum viable head tags
<meta property="og:title" content="Best coding agents" />
<meta property="og:description" content="Agentic coding tools worth using." />
<meta property="og:image" content="https://example.com/og/coding-agents.png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:url" content="https://example.com/best/coding-agents" />
<meta name="twitter:card" content="summary_large_image" />Where people get this wrong
- Relative paths fail silently. It has to be the full https URL, including the domain.
- Platforms cache hard. After a change, re-scrape with the platform's own debugger or ship the image under a new filename.
- Cards render small. Two short lines of large text read fine, a paragraph turns into grey mush.
- Test the actual share, not the file. Localhost URLs and preview deploys behind auth produce blank cards.