← All skills
Design https://ai-skills-vault.pages.dev/skills/thumbnail-design-system.md

Thumbnail Design System

Thumbnails that earn the click at 120 pixels.

Download .md All skills
Install URLhttps://ai-skills-vault.pages.dev/skills/thumbnail-design-system.md
Install prompt tap to copy
Read the skill at https://ai-skills-vault.pages.dev/skills/thumbnail-design-system.md and install it as a skill in your agent. Follow it exactly, including its checklists. Then ask me the questions it requires and do the work.

A thumbnail is a 3-word billboard viewed at 120 pixels wide on a phone. Most underperforming thumbnails fail for a boring reason: too many words, no single focal point, and text that disappears against the image at small size.

This skill gives you a template, a legibility test, a three-variant method, and a CTR table that tells you whether the problem is the thumbnail or the title.

When to use this skill

Do NOT use for: paid ad creative (different format rules and a separate testing budget), or brand logo work - that is an identity system, not a click decision.

Stage 1 - Read the data you already have

1.1 Pull the last 20 videos with impressions, CTR, and average view duration. The pattern is in your own data before it is in anyone's advice.

1.2 Separate the two failure modes: low CTR with high retention means the thumbnail or title is the problem; high CTR with low retention means the thumbnail over-promised.

1.3 Note the impression source. Suggested-video impressions reward a clear subject and a familiar face; search impressions reward text that matches the query.

1.4 Compare like with like: a 3-week-old video has not settled, and a short has a different baseline entirely.

SituationCTR signalFix
Impressions high, CTR under 3%thumbnail or titlenew thumbnail, same title
Impressions low, CTR 6%+the topic, not the artchange the topic or the first 30 seconds
CTR 8%+, retention under 30%over-promisemake the thumbnail match the content
CTR dropped after a changeyou changed two thingsrevert one and re-test

1.5 Write down your channel's current median CTR. Everything in this skill is measured against that number, not against an industry average you cannot verify.

Gate: a table of the last 20 videos with impressions, CTR and retention.

Stage 2 - Build the template once

2.1 Canvas 1280x720, exported under 2 MB, JPEG quality 85 or PNG if there is flat colour.

2.2 Safe zone: keep everything important inside the central 85% - the duration badge covers the bottom-right and the progress bar clips the bottom edge.

2.3 Composition rule: one subject, one background, one line of text. Three elements maximum, and the subject occupies 40-60% of the frame.

2.4 Leave a 40 px margin from every edge. Text that touches the edge reads as a mistake at small size.

ElementSpecNotes
Canvas1280x72016:9
File sizeunder 2 MBfaster shelf rendering
Safe zonecentral 85%badge covers bottom-right
Subject size40-60% of frameone clear focal point
Text3 words max6 words is unreadable at 120 px
Type size90-140 pxmeasured on the canvas
Stroke/shadow6-10 pxfor separation from background
Colours2 plus neutralbrand accent used once

2.5 Set the type size by testing at 120 px wide, not by eye at full size. If you cannot read it at 120 px, it is too small.

2.6 Keep the duration badge area clear on every template so you never re-check it.

2.7 Build the template as HTML/CSS so a batch can be rendered from a data file instead of hand-placed in a design tool:

<div class="thumb">
  <img class="subject" src="face.png" alt="">
  <h1 class="claim">GST NOTICE</h1>
</div>
<style>
  .thumb{width:1280px;height:720px;position:relative;background:#0b0f14;overflow:hidden}
  .thumb .subject{position:absolute;right:40px;bottom:0;height:640px;filter:saturate(.9)}
  .thumb .claim{position:absolute;left:60px;top:180px;margin:0;max-width:560px;
    font:700 140px/0.95 Inter,sans-serif;color:#ffd60a;letter-spacing:-.03em;
    -webkit-text-stroke:10px #0b0f14;paint-order:stroke fill}
</style>

Gate: one template file with the safe zone and a 120 px preview frame.

Stage 3 - Choose the one subject

3.1 One face or one object. Two faces at thumbnail size become two smudges.

3.2 If a face is used, the expression carries the click: surprise, concentration, or a clear reaction. A neutral stock smile reads as an ad.

3.3 Cut the subject out cleanly with a 3-6 px edge. A halo of background pixels is the most common tell of an amateur thumbnail.

3.4 Point at, or look at, the text or the object. Direction of gaze is a composition tool, not decoration.

3.5 For a screen-recording channel, use one recognisable UI element (a chart spike, a red error) rather than a full screenshot.

3.6 Never use a face that is not in the video. It is the fastest way to lose trust and get a video reported.

Gate: one subject, cleanly cut, with a reason it earns attention.

Stage 4 - Write three words, not a sentence

4.1 Three words maximum, ideally two. The title already carries the full claim; the thumbnail carries the hook.

4.2 Use the words the audience uses, not the words the industry uses. "GST NOTICE" beats "COMPLIANCE COMMUNICATION".

4.3 Numbers work when they are the point: "₹0 TO ₹1 CR", "3 TOOLS", "90 SECONDS". Numbers that need context do not.

4.4 Never repeat the title verbatim. The thumbnail and title are two chances, and duplicating one wastes the other.

4.5 All caps, no lowercase, and no more than two lines. Line breaks at the word boundary, never mid-word.

4.6 Ban the clickbait vocabulary that no longer works: "INSANE", "YOU WON'T BELIEVE", and any arrow pointing at nothing.

WordsExampleVerdict
2"GST NOTICE"strong, immediate
3"3 TOOLS TESTED"strong, specific
5"THE BEST TOOLS FOR 2026"too long at 120 px
6+"HOW I BUILT MY FIRST APP"unreadable
Repeats titletitle "My GST notice story"wasted second chance

Gate: three words or fewer, legible at 120 px, not a copy of the title.

Stage 5 - Get the contrast right

5.1 Text needs 4.5:1 contrast against its immediate background, which means a stroke, a shadow, or a solid bar behind it - not hope.

5.2 Use one bright accent against a dark or desaturated background. Dark thumbnail on a light feed, or the reverse; match the platform's surrounding UI.

5.3 Desaturate the background by 20-40% so the subject and text separate from it.

5.4 Check in greyscale. If the thumbnail still reads in greyscale, the value structure is right; if it turns to mush, contrast is coming from colour alone.

5.5 Avoid pure red and pure green together, and avoid the thin 1-2 px strokes that vanish after compression.

5.6 Look at the thumbnail next to three competitors in the feed. It has to win that comparison, not a beauty contest in isolation.

Gate: greyscale test passes, and the thumbnail is legible beside three competitors.

Stage 6 - Test three variants per video

6.1 Produce three variants that differ in one dimension each: subject, text, or colour. Three variations of the same layout test nothing.

6.2 Swap the thumbnail after 48-72 hours, not immediately. The first day's data is dominated by your existing audience, which behaves differently from new impressions.

6.3 Give each variant 2,000-5,000 impressions before judging. Below that you are reading noise.

6.4 Change one variable at a time, and keep the title fixed so the measurement is clean.

6.5 Keep a variant log: video, variant, swap date, impressions, CTR at 72 hours. After 10 videos you have your own rules.

6.6 Never swap more than twice on one video. Each swap resets the impression sample and you learn nothing.

VariantChangesKept fixed
Aface close-up, 2 wordstitle, colour
Bobject close-up, 2 wordstitle, colour
Cface, 3 words, new accenttitle
Bad setthree colour tints of one layoutnothing learned

Gate: three variants made before publishing, swap plan written.

Stage 7 - Batch the production

7.1 Build components in Figma: subject frame, text block, badge space, background layer. Changing the accent should be one property.

7.2 Produce five thumbnails in one sitting, once a month, rather than one at a time. Batching cuts the per-thumbnail time from 40 minutes to 12-15.

7.3 Name files YYYYMMDD-slug-v1.jpg so a variant can be found in six months.

7.4 Keep a source folder with the cut-out subject at 2x, so a re-cut is not needed for every format.

7.5 Export a 9:16 version for Shorts and Reels from the same source; the composition changes, the subject does not.

7.6 Have one person own the template. A template edited by four people becomes no template.

7.7 Export and compress in one step so the file always lands under 2 MB:

# render the HTML at exactly 1280x720, then flatten and compress
npx playwright screenshot --viewport-size=1280,720 thumb.html thumb-v1.png
convert thumb-v1.png -strip -interlace Plane -quality 85 thumb-v1.jpg
# hard ceiling: re-encode until under 2 MB
while [ $(stat -c%s thumb-v1.jpg) -gt 2000000 ]; do
  convert thumb-v1.jpg -quality 78 thumb-v1.jpg
done

Gate: five thumbnails produced in one batch, files named by the convention.

Stage 8 - Check legibility on the real surface

8.1 View at 120 px wide, then at 240 px, on a phone. Those are the two sizes that matter.

8.2 Test on a mid-range Android, not a desktop monitor. Colour and contrast read differently on a cheap LCD in daylight.

8.3 Look at the thumbnail in the actual feed, next to three real competitors, on a phone.

8.4 Check the text against the duration badge and the progress bar; the safe zone exists for a reason.

8.5 Ask two people what the video is about, without the title. If neither can say, the thumbnail has failed.

8.6 Screenshot the thumbnail inside the real feed on a phone and look at it as a reader would - not as the designer who knows what it says.

8.7 Check it beside your own last three thumbnails. If all four look the same at 120 px, the channel has no visual variety and the newest video will not stand out.

Gate: 120 px and 240 px checks done on a real phone, two people can state the topic.

Stage 9 - Measure and decide

9.1 Judge a thumbnail on CTR against your own median, with impressions above 2,000 and at least 72 hours of data.

9.2 Read CTR together with retention. A CTR jump with a retention collapse is a lost subscriber, not a win.

9.3 Split by impression source. A thumbnail that wins on suggested videos may lose on search, and you can use different art per surface in some cases.

9.4 Log every result in the variant log, including the failures. Failures are the more useful half.

CTR vs medianRetentionVerdict
+50%flatrepeat the pattern
+50%-20%over-promise, fix the content match
flatflatthe topic, not the art
-40%flatrevert immediately
+10%+10%keep, iterate next time

9.5 Re-test the winning pattern three times before calling it a rule. One win is a coincidence more often than not.

9.6 Review the last 10 thumbnails quarterly as a contact sheet. Consistency shows up only when you look at them together.

Gate: variant log with 10 videos and a written pattern.

Stage 10 - Refresh old videos

10.1 Sort your catalogue by impressions over the last 90 days. Old videos with steady impressions are free upside.

10.2 Rewrite the thumbnail on the top 10 by impressions if their CTR is under half your median.

10.3 Change one thing per refresh: the text, the subject, or the colour. A full redesign tells you nothing.

10.4 Do not touch a video with a CTR above your median - you can only make it worse.

10.5 Refresh quarterly. A 2-year-old thumbnail was designed for a different feed and a different audience.

10.6 Record the refresh in the log with the before and after CTR at 30 days.

Gate: 10 videos refreshed with before and after numbers.

Worked example

A finance channel, 40 videos, median CTR 4.1%, thumbnails with 5-7 words.

ChangeVideosMedian CTR
Baseline, 5-7 words404.1%
3 words, one face, stroke 8 px125.6%
2 words, one object, desaturated background126.4%
Face plus a number (₹0 TO ₹1 CR)87.2%
5-word refresh on the old set104.3%

The word count was the single largest factor: cutting from 6 words to 2-3 words moved CTR more than the face or the colour changes did.

Quality checklist

Failure modes

SymptomReal causeFix
CTR under 2% with good retentionSix words at 40 px, unreadable at 120 pxCut to 3 words at 90-140 px
CTR fine, retention collapsesThumbnail promises something the video does not deliverMatch the thumbnail claim to the first 30 seconds
Thumbnail looks busyThree subjects and a background photoOne subject, one text line, plain background
Text disappears in the feedContrast from colour alone, no stroke8 px stroke plus a 4.5:1 check in greyscale
Every thumbnail looks differentNo template, four people editingOne template file, one owner
A/B test inconclusiveUnder 2,000 impressions per variantWait for volume, or test on a higher-traffic video
CTR dropped after a redesignTwo variables changed at onceRevert one, re-test, change one at a time
Good CTR, no subscribersThe video does not match the audience the thumbnail attractedMake the first 15 seconds deliver the promise

Copy-ready agent prompt

Read the skill at the URL above and build a thumbnail system for my channel. Ask me: the channel topic, my last 10 videos with impressions and CTR, my median CTR, and whether I have a template. Then give me the template spec with canvas, safe zone, subject size and type sizes, the three-word text rule with examples for my niche, the contrast and greyscale checklist, and a three-variant test plan with swap timing and minimum impressions. Then the batch production workflow, the legibility tests at 120 and 240 px, and the variant log format. Do not invent CTR benchmarks - use my numbers or mark an assumption as an estimate.
Copied