Vue · HTML to Image

Convert Vue Components to Image

Server-render Vue 3 components with @vue/server-renderer and convert the output to a pixel-perfect image. Works in Nuxt 3 server routes out of the box.

Vue 3 / Nuxt 3renderpix API example
// server/api/og.get.ts  (Nuxt 3)
import { createSSRApp } from "vue";
import { renderToString } from "@vue/server-renderer";
import OgCard from "~/components/OgCard.vue";

export default defineEventHandler(async (event) => {
  const { title, domain } = getQuery(event);

  const app  = createSSRApp(OgCard, { title, domain });
  const html = await renderToString(app);

  const res = await $fetch("https://renderpix.dev/v1/render", {
    method:       "POST",
    headers:      { "X-API-Key": process.env.RENDERPIX_API_KEY },
    body:         { html, width: 1200, height: 630, format: "png" },
    responseType: "arrayBuffer",
  });

  setHeader(event, "Content-Type", "image/png");
  return send(event, Buffer.from(res));
});

Common use cases

🌐
Nuxt 3 OG images
Generate per-route OG images from Vue components in Nuxt 3.
🎨
Design previews
Export Vue UI component previews as shareable images.
🗺️
Sitemap thumbnails
Create page thumbnail images for site maps.
📣
Social campaigns
Generate campaign-specific social card variants at scale.

Start converting HTML to images for free

100 free renders/month. No credit card. Set up in 2 minutes.

Get free API key