unfurl
Webflow Guide

How to Add Dynamic OG Images to Webflow Without Code

Give every page and CMS item its own branded social-share image — pulled from your content, with your logo and colors. No design tools, no developer, about ten minutes of setup.

When someone pastes a link to your Webflow site into LinkedIn, Slack, iMessage, Facebook, or X, the preview card they see is controlled by your page's Open Graph image (often shortened to "OG image"). A good one makes your link look trustworthy and clickable. A missing or generic one makes it look broken — and quietly costs you clicks.

The catch: Webflow can reference an OG image, but it can't make one. This guide walks through the three things people actually mean when they ask about this, and shows you the no-code way to get a unique, on-brand image on every page automatically.

First, what Webflow can and can't do

Let's be precise, because most articles get this wrong:

So "dynamic OG images" really comes down to one question: where do the images come from? You have two options — make each one manually, or point Webflow at a service that renders a fresh image from your page's title and brand on the fly. This guide covers the automatic route.

What an OG image needs to be

SpecValue
Dimensions1200 × 630 pixels
FormatPNG or JPG
Card typesummary_large_image (for X/Twitter)
The two tags you needog:image + twitter:card

The two meta tags that control your share card

Every social platform reads the same two tags from the <head> of your page:

<meta property="og:image" content="https://YOUR-IMAGE-URL" />
<meta name="twitter:card" content="summary_large_image" />

That's the whole mechanism. Whatever URL you put in og:image is the picture people see. If that URL generates an image based on the page, you get a unique card per page without uploading anything. That's the trick.

Step-by-step: dynamic OG images on a Webflow CMS Collection

This is the high-value case — a blog, a directory, a product catalog — where you want each item to have its own card automatically.

1. Open the Collection page template's custom code

In the Webflow Designer, open your Collection page template (e.g. the Blog Post template). Go to Page settings → Custom code → Inside <head> tag.

2. Paste the two tags, with a generator URL

Instead of a fixed image, point og:image at a rendering service and pass the page's own fields into the URL:

<meta property="og:image"
  content="https://www.useunfurl.com/api/og?key=YOUR_KEY&title=YOUR_TITLE&footer=yourdomain.com&theme=dark" />
<meta name="twitter:card" content="summary_large_image" />

3. Replace the static title with a Webflow field token

Here's the no-code magic. In Webflow's custom code, click where the title goes and use + Add Field to insert the item's Name. Webflow swaps in each item's real value when it publishes:

title={{wf {"path":"name","type":"PlainText"} }}

Now every blog post renders its own image — its title, your logo, your colors — and you never touch a design tool. Publish once; it works for all 50 posts and every future one.

Important: Webflow needs the values in the URL to be URL-encoded. Spaces become %20, etc. A good generator handles encoding on its end, but if your titles contain & or #, encode those (%26, %23) so the URL doesn't break.

Step-by-step: a single static page

For a one-off page (homepage, about, a landing page), it's even simpler. Open Page settings → Custom code → Inside <head> tag on that page and paste the same two tags with the title written out:

<meta property="og:image"
  content="https://www.useunfurl.com/api/og?key=YOUR_KEY&title=Your%20Page%20Title&footer=yourdomain.com&theme=dark" />
<meta name="twitter:card" content="summary_large_image" />

Test it before you trust it

After publishing, confirm the card renders correctly. Don't guess — every platform caches aggressively, so use their official debuggers:

If the old image is stuck, it's almost always a platform cache, not your tags — re-scrape and it updates.

The shortcut: let the image generate itself

Everything above works with any image URL. The reason it becomes no-code and zero-maintenance is the generator URL doing the drawing. That's exactly what we built Unfurl for: you paste one line into Webflow, pass your title and brand, and it returns a clean 1200×630 PNG — with your logo and colors — for every page, live from your CMS.

Try it free on your own Webflow site

200 images/month free, no credit card. Five built-in themes (dark, light, sunset, forest, grape) plus your own logo and hex colors.

Get your free API key →

Frequently asked questions

Can Webflow generate OG images automatically?

No. Webflow can bind the OG image tag to a CMS image field you upload, but it does not create or design the image. To get a unique image per page without manual work, you point the og:image tag at a service that renders one — which is the method in this guide.

What size should a Webflow OG image be?

1200 × 630 pixels. That ratio displays cleanly across Facebook, LinkedIn, Slack, iMessage, and X when you also set twitter:card to summary_large_image.

Do I need a developer for this?

No. It's two meta tags pasted into Webflow's built-in Custom Code box, plus Webflow's own field-token picker for CMS pages. No plugins, no build step, no JavaScript.

Will this slow down my site?

No. The OG image is only fetched by social platforms when your link is shared — it never loads for your normal visitors, so it has zero effect on page speed.