Skip to content
Postkit

LinkPreview. A portable inline link, metadata card, native media player, or isolated rich embed.

  • Discovery
  • Interactive
  • Stability · Initial
  • ::postkit-link-preview

Usage.

<LinkPreview
  href="#component-preview"
  title="Designing content that travels well"
  description="A field guide to portable semantics, host-owned themes, and renderer boundaries."
  siteName="Postkit Journal"
  image="/component-preview.svg"
  imageAlt="Abstract Postkit editorial artwork"
/>

Props. Always in step with the code.

PropTypeDefaultDescription
hrefRequiredstringNoneThe destination URL.
presentation"inline" | "card" | "embed" | "media" | "auto""card"The requested link treatment. Auto chooses from resolved metadata.
images"none" | "first" | "carousel""first"How resolved preview images are displayed.
media"auto" | "audio" | "video"NoneThe preferred native media type.
activation"click" | "immediate""click"Whether an external interactive embed waits for reader consent.
providerstringNoneA provider override for PostkitProvider, an editor, or a build-time resolver integration.
metadataJSON stringNoneA normalized @postkit/unfurl result serialized as JSON.
titlestringNoneAn author-supplied title override.
headingLevel"2" | "3" | "4" | "5" | "6"NoneRenders the card title as a heading at this level. Leave it unset and the title is a paragraph, so the preview never breaks the page's heading outline.
descriptionstringNoneAn author-supplied description override.
siteNamestringNoneAn author-supplied site-name override.
imagestringNoneAn author-supplied primary image override.
imageAltstringNoneAlternative text for the primary image override.
faviconstringNoneAn author-supplied site icon override.
iframeTitlestringNoneAn accessible title for a resolved iframe embed.
Appearance
size"sm" | "md" | "lg""md"The component density and type scale.
variant"outline" | "subtle" | "plain""subtle"The component visual treatment.

Every component also takes unstyled and the part-styling props. Change a default for your whole site with defaults in createPostkit. Part styles

Anatomy. Every part is yours to restyle.

Every part

  • root
  • anchor
  • media
  • image
  • carousel
  • content
  • siteRow
  • favicon
  • siteName
  • title
  • description
  • domain
  • embedFrame
  • embed
  • consent
  • consentButton
  • mediaPlayer

Renderers. One component, everywhere you publish.

  • Headless @postkit/reactSupported
  • Chakra @postkit/chakraSupported
  • Email @postkit/emailSupported
  • Astro @postkit/astroHydrated
  • Web components @postkit/elementsPlanned
Postkit

Richer posts, written once, right everywhere.

© 2026 Postkit. MIT licensed.
LicensingPrivacy