Write the visual rules before the set
A set of images drifts when each card is designed on its own. The fix is not a template that makes every post look identical; it is a short list of decisions that is written down once and then checked, card by card, at the end.
The rule set below is derived from this site's own type scale so that the cards and the page they link to share a voice. The values were read from /styles.css on 14 September 2026, not chosen by eye: the body text role is 17 px with 1.8 line height, and the section heading role is 29 px with 1.2 line height. Both roles are reused on the cards at card scale rather than re-invented per card.
| Rule | Recorded value | How the finished set is checked |
|---|---|---|
| Type roles | Two roles only: heading at the 29 px role, body at the 17 px role | Every card uses both roles and no third size |
| Type family | The site's self-hosted Inter file | Same file on every card; no substitution on the export machine |
| Colour roles | Dark text on a light ground, one pale panel colour, one accent | No card introduces a second accent |
| Margin | One margin value for all four edges | Text and rules clear the margin on every card |
| Attribution band | One band, same position, same height on every card | Band position is compared across the set, not per card |
| Fixed elements | Ground, margin, type family, attribution position | Only the content layer is allowed to differ |
Nothing in that list is about taste. Each row can be marked Pass or Fail against a finished export, which is the test a style note usually fails.
Map one article to a set of posts
One article can carry several posts if each post answers a different question the reader actually has. Take four kinds of excerpt from the same source: a question the article opens, one repeatable step, one mistake worth avoiding, and one concrete result. That gives a set of four or five cards with different jobs instead of five paraphrases of the introduction.
- A question — the reader's own words, answered in one line.
- A step — one action, with the condition that makes it correct.
- A mistake — the failure mode, named plainly.
- A result — a measured number from the article, with its frame.
Write the mapping as a table before opening the editor: reader question, the sentence in the article it comes from, the form the card takes, and the action the card supports. A post that cannot name the sentence it came from is usually a new claim rather than a summary of the old one.
Draft and verify the captions
A caption is text under your name, so it follows the same rule as the article: no statistic that is not in the source, no urgency the source does not support, and no first-hand experience the writer did not have. If the source article says a JPEG at quality 82 measured 35,789 bytes, the caption may repeat that number and its frame. It may not turn it into a speed claim, and it may not add a percentage that nobody measured.
One more restriction is easy to break by accident: a post should not imply that this site ran a hands-on comparison of the products it writes about. The sources are documented pages; the measurements belong to the files we produced. A caption that says otherwise is not a style problem, it is a false claim.
Keep the shared elements fixed
The variable in a set is the content layer: the question, the step, the number, the reminder. Everything else stays where the rule set put it. In practice that means the ground, the margin, the type family, the type roles and the attribution band are copied from card to card and never re-decided.
When a card needs more room, the answer is shorter copy rather than a smaller type size. Type smaller than the recorded body role is the fastest way to produce a set that looks close and reads badly, and it is also the change most likely to break a platform's own legibility guidance once the image is scaled down in a feed.
Five posts from one guide
The source here is a real page on this site, Choose an image format for the page you are building, published 14 September 2026. The mapping below is the output of one pass, not an illustration: each row names the sentence the card comes from, and every number in the captions is taken from that page's measured export table.
| # | Reader question | Source sentence | Form | Destination and size | Caption claim check |
|---|---|---|---|---|---|
| 1 | Which container does a screenshot belong in? | The PNG entry in “Match the format to what the image is” | One answer, four lines | Pinterest, 1000 × 1500 (2:3) | No number; no tool named |
| 2 | How do I compare two exports fairly? | The fixed-frame rule in “Compare exports at identical dimensions” | Three numbered steps | Pinterest, 1000 × 1500 | Step count only |
| 3 | What do the byte counts actually look like? | The export table: 35,789 bytes as JPEG at quality 82, 6,613 bytes as AVIF at quality 63 | Two byte counts with their settings | Pinterest, 1000 × 1500 | Both numbers traced to the table row |
| 4 | Why did the page still load a heavy image? | “Serve a size that fits the viewport” | One sentence, one consequence | YouTube thumbnail, 1280 × 720 (16:9) | No number; no performance claim |
| 5 | What do I check before this goes out? | “Check the page, not only the file” | Short list, three items | YouTube thumbnail, 1280 × 720 | Every item is checkable on a file |
Two destinations, two specifications, one rule set. That is the point of writing the rules first: the card content changes with the platform, and the shared layer does not.
Check permissions for every asset
The rights question is per asset, not per set. A card built from your own export, your own type file and your own measurement carries no third-party material. Add one photograph from a stock library and the set now has a licence field that has to be filled in and checked like any other field.
For Creative Commons material the attribution fields are published: “we recommend that the attribution include the Title, Author, Source, and License”, with the source and licence noted wherever the work appears. If a licence field is empty, the asset is not cleared, whatever the file name says. The same logic applies to fonts: the licence attached to a desktop font is not automatically the licence for embedding it in an image or on a page, and that question belongs to the font's own licence file.
The failure case is a card that travels without its attribution band because the band was treated as decoration. On a platform that re-shares images, that is the card most likely to be reposted and the one least likely to carry its own credit.
Review the set together
Single-card review catches typos. Whole-set review catches the problems that only exist between cards: two posts opening with the same sentence, one card promising a deadline another card has already passed, a reminder that contradicts the question it was built from, an accent colour that crept in on card four.
Four things get checked across the whole set, in this order: links, dates, claims, rights. Links because a broken card is worse than no card. Dates because a scheduled set can outlive the offer it describes. Claims because a caption is read on its own, without the article behind it. Rights because a set is shared as a set, and one uncleared asset travels with all five.
Preflight the exports before scheduling
Run the export list over the whole set at once; a consistent set is easier to check together than one post at a time. The list stays the same ten items used for any delivery: the file that was exported, whether the crop still clears the text, whether the type was substituted on the machine that produced the file, and which assets still carry an empty licence field.
Two platform specifications decide the frames, and both are stated in their own documentation. Pinterest asks for a 1000 × 1500 pixel image with a 2:3 aspect ratio and warns that anything taller “might get cut off in people's feeds”; it accepts PNG or JPEG, with a maximum file size of 20 MB on desktop and 32 MB in the app. YouTube asks for a 1280 × 720 thumbnail and a 16:9 aspect ratio for videos and 9:16 for Shorts, accepts JPG or PNG, and caps the upload at 2 MB from a phone against 50 MB from a desktop browser.
Scheduling and publishing sit outside this page: they need the account owner's decision, and nothing here posts on its own. What this pass produces is a checked set with a filled-in rule table, ready to be handed to whoever holds the account.
Sources and method
The platform numbers below come from the platforms' own specification pages, opened on 14 September 2026. The rule set values come from this site's stylesheet on the same date.
- Pinterest Business Help, product specs (accessed 2026-09-14): “File type .PNG or .JPEG” · “Max file size Desktop 20 MB, In-app 32 MB” · “We recommend using a 2:3 aspect ratio, or 1000 x 1500 pixels. Pins with an aspect ratio greater than 2:3 might get cut off in people's feeds.” · “Title Enter up to 100 c” (character limit for the title field).
- YouTube Help, Add custom thumbnails (accessed 2026-09-14): “Be uploaded in image formats such as JPG or PNG.” · “Remain under MB limits. Limits depend on the device you’re using to upload your thumbnail: Mobile: 2 MB for video thumbnails or 10 MB for podcasts. Desktop: 50MB for video, Shorts, and podcast thumbnails.” · “For videos, try to upload a thumbnail with an aspect ratio of 16:9. For Shorts, try to upload a thumbnail with an aspect ratio of 9:16.”
- Creative Commons, Recommended practices for attribution (accessed 2026-09-14): “we recommend that the attribution include the Title, Author, Source, and License”.
- MDN, Image file type and format guide (accessed 2026-09-14): “WebP offers much better compression than PNG or JPEG with support for higher color depths, animated frames, transparency etc.” Used here only to describe which containers are safe for the exports.
Method. The five-post mapping is the output of one pass over this site's own guide of 14 September 2026; the byte counts in row 3 are the measured export sizes published on that guide. The type-scale values in the rule set (body 17 px, section heading 29 px) were read from /styles.css on 14 September 2026. No post in this set was scheduled, posted or sent to a platform.
Not checked in this pass. The editor licence agreement that would settle font and template redistribution terms could not be opened: the page returned HTTP 403 on 14 September 2026, so those terms are recorded as Not checked rather than summarised. No stock asset was cleared in this pass, because the set uses this site's own exports and its own type file.
