CSV → a batch of OG images

A spreadsheet from Excel or Google Sheets → one ZIP of ready covers. Every row is its own image: title, template, color, format. File names like01-<title>.png — so it is clear what is what. Free, sign-in required.

Free · up to 25 covers per run (Pro — up to 100) · a file, a Google Sheets link or text

Spreadsheet: file, Google Sheets or text
Sample .csv
Style for rows without their own
Covers to generate: 0 (rows without errors)

Free: up to 25 rows per run, images carry a small og-studio.online badge. With Pro — up to 100 rows and no watermark. The images in the ZIP are the same as in the preview above.

Spreadsheet columns

English and Russian column names are recognized in any order and any combination — extra columns are ignored. If there is no header row, columns are read by position: title; subtitle; brand; template; accent; format (photo and task-template fields are matched by column name only).

titlerequired

The cover title. Long lines wrap automatically, up to 200 characters.

subtitleoptional

A line under the title — the second row you see in the preview. Up to 300 characters.

brandoptional

Your site or section name — a small label on the cover. Up to 50 characters.

templateoptional

A template ID (sunset, minimal, aurora…) or its name as in the editor (“Sunset”, “Ocean”, “Graphite”). Holiday templates (Halloween, Black Friday, New Year) only work during the holiday. Default: Sunset.

accentoptional

Accent color as #rrggbb (for example #38bdf8). Default: coral.

formatoptional

og (1200×630), square (1080×1080), story (1080×1920), twitter-banner (1500×500) or wide-16-9 (1280×720). Default: og.

photooptional

A link to a photo (https://…, JPG, PNG or WebP up to 5 MB) for the “Photo background” template (a full-bleed photo with a dark overlay) and “Product & price” (the photo inside the product card). Matched by column name only; image and picture work as names too. If the photo cannot be opened, the cover is built without it.

task-template fieldsoptional

Matched by column name only (a header row is required). Blog post: rubric, author, meta; Webinar / event: kind, day, month, time; Quote: role; Big number: number; Product & price: badge, old, price, cta; Job opening: kicker, salary, tags; Podcast / episode: episode; List: i1, i2, i3, i4, i5, i6; for all — theme: dark or light. An empty cell means the element is left off the cover.

Frequently asked questions

How do I prepare the spreadsheet?

Upload a CSV from Excel or simply paste a Google Sheets link (sharing set to “Anyone with the link”) — the delimiter “;”, “,” or tab is detected automatically, and a header row is optional (but more reliable). Column names can be in English or Russian, in any order. Task-based templates have optional extra-field columns — rubric, author, day and month, price, button, list items and more; an empty cell means the element is left off the cover. For the “Photo background” and “Product & price” templates add a “photo” column with an image link. Don’t want to fiddle — press “Fill with a sample” and edit the result.

How many images can I generate?

Free — up to 25 rows per run, with Pro — up to 100 rows and no watermark. Rendering runs on the server one by one: 25 covers take seconds, 100 about a minute.

Is it free?

Yes, no payment needed. You only have to sign in — by email (a code arrives in your inbox) or with Telegram; it takes half a minute: batch generation loads the server and signing in protects it from bots. The preview and table check work without signing in. Free images carry a small og-studio.online badge. If you need clean covers without the badge and up to 100 rows at a time — Pro from 50 RUB. International payments are coming soon.

What happens to rows with errors?

An unknown template or a color that is not #rrggbb will not stop the run: that row is flagged in the preview table, and the full list of errors goes into an _errors.txt file inside the ZIP. The other rows turn into covers as usual.

How do I put the images on my site?

Unzip the archive and upload the PNGs to your site or hosting, then put the image address in the page’s og:image tag. For product cards and scheduled posts the images work as they are.

Do you run a WordPress blog?

The OG Studio plugin makes a cover for every post automatically — no spreadsheets.

WordPress plugin