Templates for OGP tags and the such.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



An incredibly bare-bones template for opengraph/twitter/facebook sharing niceties. Slack has an excellent article on the relevant opengraph properties.


Screenshot of Sketch

I’ve created a simple grid to help with laying out elements, and a corresponding layout grid (Toggle its visibility with control + L in Sketch).

Generating the images

There are slices places on the artboard for Facebook and Twitter share image sizes. Current as of the time of writing:

  • Facebook: 600 × 315 (1200 × 630 Retina)

  • Twitter: 560 × 300 (1120 × 600 Retina)

The export slices are set to @2x retina scale, to look nice and sharp on retina devices. You may want to toggle the format between png and jpeg, depending on whether your image contains graphical elements more suited to png compression, or photographic content better suited for jpeg.

Serving the images

Depending on your criteria, there’s different strategies for serving opengraph images from your views. I use middleman-ogp on my blog, allowing me to specify the images in my page frontmatter.

      title: 'Page title'
      description: 'Page description'
        '': http://example.com/path-to-image/og.png
        type: image/jpg
        width: 560
        height: 300
        '': en_us
      title: 'Page title'
      description: 'Page description'
        '': http://example.com/path-to-image/fb.png
        type: image/jpg
        width: 600
        height: 315

For dynamic sites, pick your poison. Here’s a strategy using rails layouts.

In layout.haml

Check to see if a custom image path for the ogp tag is present.

  - if @ogp_image_path.present?
    # Show the custom image.
    %meta{property:"og:image",       content:"http://example.com/images/og/#{ogp_image_path}/og.png"}
    %meta{property:"fb:image",       content:"http://example.com/images/og/#{ogp_image_path}/fb.png"}
  - else
    # Show the default ogp image.
    %meta{property:"og:image",       content:"http://example.com/images/og/og.png"}
    %meta{property:"fb:image",       content:"http://example.com/images/og/fb.png"}

In page.haml

  - @ogp_image_path == 'foobar'

This allow you to specify a folder for a custom opengraph images, but falls back to a default if none is specified.