How to Choose Fonts for Social Media Images
Quick answer: Most social images use two fonts: a display font for the headline and a neutral, readable font for the body text. Adding more fonts makes the image look like a template instead of a brand.
Here's how to choose them.
The two-font system
- The display font. The headline. It can have personality: a bold grotesque, a strong sans, or a confident serif.
- The neutral font. The body text, the supporting line, the labels, and the small print. This is usually a clean sans that reads at 12 px.
A third font is occasionally justified (a mono for code-style products), but it's an exception, not a default.
What makes a good social display font
- Bold weight. The headline has to be readable at phone size in a feed.
- Short letters. Tall, narrow typefaces disappear when the image is small.
- Even spacing. Avoid decorative fonts that make launch headlines hard to read.
- License. The font must be licensed for embedding and export.
What makes a good body font
- A neutral sans-serif. The humanist or grotesque sans faces are the default for a reason.
- Tall lowercase letters (the x-height), which keep the text readable at small sizes.
- A regular and a bold weight. You don't need the whole family.
Pairing
Two safe pairing rules:
- One family, two weights. Use the same neutral font for the headline and body, with the headline at a heavy weight. This is the safest, most coherent look.
- Display plus neutral. A confident display for the headline, and a clean sans for the body. The body font should be quieter than the display font.
Avoid pairing two fonts with similar personalities; they'll compete.
Practical stacks
- Modern product: a geometric or grotesque sans, both weights.
- Editorial: a serif display for the headline, a neutral sans for the body.
- Developer tool: a grotesque for the headline, a monospace for code and labels.
The system font problem
If the image is rendered by a browser and exports as HTML, the font has to exist on the viewer's machine or be embedded. The cross-platform safe stacks are limited, and the Japanese, Korean, and Chinese readers have different defaults. For social images, embedding the font or exporting the text as fixed shapes in the PNG avoids the issue.
Sizes on the canvas
- Headline: large enough that the phrase is readable at 320 px wide.
- Body text: 40–60 px at the 1080–1200 canvas.
- Small labels: at least 28 px.
Below those sizes, the text becomes part of the visual noise.
What to avoid
- Four or five fonts in one image.
- Script or display fonts on the body.
- Centered paragraphs. Left-aligned body text is easier to read.
- All caps for long lines. Caps are fine for short labels, not sentences.
- Thin weights. A light font is hard to read in the feed.
Frequently asked questions
Can I use the same font as my website? Yes, and you should. The social images and the site share the brand.
Are free fonts safe to use? Google Fonts and similar open licenses are safe for commercial use; check the specific license for embedding.
How many fonts do I need? Two: a display and a neutral. One family can cover both.
Should CJK text use a different font? The Chinese, Japanese, and Korean readers need their own fonts; the system defaults and the embedding rules are different.
Can I generate the images with the right font automatically? The launch kit in Neatico ships with a fixed type system and uses the correct CJK fonts for translated output, so the font choice doesn't have to be repeated per image.
Pick one display and one neutral, then stop. The image is about the product, not the font library.
Related guide: the brand kit guide.