A comparison table with ticks, crosses and half marks, the highlighted column lifted as its own raised card.
These are real renders from the API with the example values in the table below. Switch the size above: the same template lays itself out for all 6 sizes — send size or sizes with the request.
For "X vs Y" and alternatives pages, review sites and plan comparisons generated per competitor. Up to four columns and seven rows: wide frames show five rows and count the rest in a "+N more" line, square and vertical frames show seven. A column without a logo gets a monogram, long values end in an ellipsis, and with no rows the card shows a ghost table. Vertical frames give features two lines and draw the marks larger.
Every field is optional. Long text shrinks to fit instead of overflowing; an image field takes a public URL that we fetch on our side.
| Field | Type | Description | Example |
|---|---|---|---|
title |
text | Headline above the table. default: How we compare | Northwind vs the alternatives |
eyebrow |
text | Small label above the title, e.g. Comparison 2026. | Comparison 2026 |
columns |
text |
Column names separated by ;, e.g. Northwind;Brightpixel;Canvasly. Up to four.
|
Northwind;Brightpixel;Canvasly |
rows |
text |
Rows separated by ;, each as feature|value|value…, one value per column: yes, no, partial or short text, e.g. Signed URLs|yes|partial|no;Free tier|500 a month|no. Up to seven.
|
Signed URLs|yes|partial|no;Animated GIF and MP4|yes|no|no;Templates included|120+|40|12;Team workspaces|yes|yes|partial;Free tier|500 a month|100 a month|no |
highlight |
text | Number of the column to lift as a card, e.g. 1 for the first; empty or 0 lifts none. default: 1 | 1 |
site |
text | Website or page address, top right. | northwind.dev/compare |
logo_1 |
image URL | Logo of the first column. | https://example.com/images/logo-northwind.png |
logo_2 |
image URL | Logo of the second column. | https://example.com/images/b06-icon-hex.png |
logo_3 |
image URL | Logo of the third column. | https://example.com/images/b06-icon-bolt.png |
logo_4 |
image URL | Logo of the fourth column. | — |
accent |
colour | Brand colour as hex, e.g. #6366f1. Drives buttons, highlights and the background glow. default: #4f46e5 | #4f46e5 |
theme |
dark | light | Colour scheme: dark or light. default: light | — |
Use the slug as template. The response holds the URL of the finished PNG; ?wait=true keeps the connection open until it is ready.
curl -X POST "https://shareglint.com/v1/images?wait=true" \
-H "Authorization: Bearer sk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"template": "feature-matrix",
"modifications": {
"title": "Northwind vs the alternatives",
"eyebrow": "Comparison 2026",
"columns": "Northwind;Brightpixel;Canvasly",
"rows": "Signed URLs|yes|partial|no;Animated GIF and MP4|yes|no|no;Templates included|120+|40|12;Team workspaces|yes|yes|partial;Free tier|500 a month|100 a month|no",
"highlight": "1",
"site": "northwind.dev/compare",
"logo_1": "https://example.com/images/logo-northwind.png",
"logo_2": "https://example.com/images/b06-icon-hex.png",
"logo_3": "https://example.com/images/b06-icon-bolt.png"
}
}'
For static sites, Webflow, Shopify and no-code tools: put the fields in the query string and sign it with your signing secret. The first request renders the image, every later one is a redirect to the cached file. How to compute the signature.
<meta property="og:image" content="https://shareglint.com/i/acc_YOUR_ACCOUNT_ID/feature-matrix.png?columns=Northwind%3BBrightpixel%3BCanvasly&eyebrow=Comparison%202026&highlight=1&rows=Signed%20URLs%7Cyes%7Cpartial%7Cno%3BAnimated%20GIF%20and%20MP4%7Cyes%7Cno%7Cno%3BTemplates%20included%7C120%2B%7C40%7C12%3BTeam%20workspaces%7Cyes%7Cyes%7Cpartial%3BFree%20tier%7C500%20a%20month%7C100%20a%20month%7Cno&site=northwind.dev%2Fcompare&title=Northwind%20vs%20the%20alternatives&s=YOUR_SIGNATURE">
accent and theme change per request. For anything more, copy the template into your account: you get an ordinary HTML template with the same fields that you can edit in the dashboard or through the API. If the slug is free on your account, the copy takes it — your integrations switch to your version without changing a line.
curl -X POST "https://shareglint.com/v1/templates/library/feature-matrix/copy" \
-H "Authorization: Bearer sk_live_YOUR_KEY"