In short. Set twitter.card to summary_large_image and provide title, description and image values in Next.js.
Definition: A large-image Twitter card uses
<meta name="twitter:card" content="summary_large_image">. In Next.js, settingtwitter.cardto'summary_large_image'emits that tag together withtwitter:title,twitter:description, andtwitter:imagefrom the metadata object.
Key facts
- Next.js places the card type, title, description, and image URL inside the
twittermetadata object in its generateMetadata reference. - The reference's
<head> outputusesname="twitter:card",name="twitter:title",name="twitter:description", andname="twitter:image". - The Next.js example marks the image URL with the comment
Must be an absolute URL. - The Open Graph protocol uses a separate
og:*vocabulary and listsog:title,og:type,og:image, andog:urlas the four required properties for every page. - The Open Graph page describes
og:descriptionas optional metadata andog:image:altas a description of what is in the image.
How does Next.js declare the card?
Next.js accepts a twitter object in the exported metadata object. Its example sets card to 'summary_large_image', supplies a title and description, and passes the image URL through images.
export const metadata = {
twitter: {
card: 'summary_large_image',
title: 'Next.js',
description: 'The React Framework for the Web',
images: ['https://nextjs.org/og.png'],
},
}
The Next.js metadata API reference shows the following corresponding output:
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Next.js" />
<meta name="twitter:description" content="The React Framework for the Web" />
<meta name="twitter:image" content="https://nextjs.org/og.png" />
The page was last updated August 19, 2026. The example also includes twitter:site:id, twitter:creator, and twitter:creator:id when the corresponding fields are supplied.
Which tags carry the page information?
twitter:card carries the literal card value. twitter:title carries the value of twitter.title, twitter:description carries twitter.description, and twitter:image carries the URL in twitter.images. The emitted elements use the HTML name and content attributes shown in the same Next.js output example.
Next.js places the image URL in an array in its example and comments that it must be an absolute URL. The example uses https://nextjs.org/og.png, so a relative path does not match the documented example.
How does this differ from Open Graph metadata?
Open Graph is a separate protocol for representing a web page as a rich object in a social graph. Its protocol definition says that the four required properties are og:title, og:type, og:image, and og:url. It places these as additional <meta> tags in the page's <head>.
The protocol describes og:description as optional metadata. Its image properties include og:image:url, og:image:secure_url, og:image:type, og:image:width, og:image:height, and og:image:alt; the last is a description of the image rather than a caption. These names use the property attribute, as in the protocol's example, while the Next.js Twitter output uses name.
How can you check the emitted markup?
Inspect the HTML <head> returned for the page and search for twitter:card. The expected value is summary_large_image, followed by the twitter:title, twitter:description, and twitter:image elements shown in the Next.js reference. Separately, inspect any Open Graph elements for the og:* names and property attributes defined by the Open Graph protocol.
Related terms
- Which Open Graph tags are required for a page object?
- How is alternative text attached to an Open Graph image?
- Which Twitter card tag supplies image alternative text?
FAQ
Which value selects the large-image card?
Set twitter.card to 'summary_large_image' in Next.js. The generated HTML uses content="summary_large_image" on the twitter:card meta element.
Which metadata fields emit the title, description, and image tags?
Use twitter.title, twitter.description, and twitter.images. Next.js emits them as twitter:title, twitter:description, and twitter:image in the page head.
Does Open Graph replace the Twitter card declaration?
Open Graph has its own og:* properties and required fields. The Next.js example declares the Twitter card through the separate twitter object.
What kind of image URL belongs in the images field?
The Next.js example uses an absolute HTTPS URL and labels the requirement with the comment Must be an absolute URL.
Sources
- Vercel, "Functions: generateMetadata", 19 August 2026
- Open Graph protocol, "The Open Graph protocol", n.d.
Check how a page reads to answer engines. Open the GEO score analyzer