Meme Generator
Add top and bottom text to any image and download it, with the classic styling and control over placement — all in your browser.
Upload an image to start.
Half the black outline is painted over by the white letter
The classic meme look is white text with a heavy black outline, and every implementation draws it the same way — stroke the letter, then fill it. A canvas stroke straddles the path it follows, half inside the shape and half outside, and the fill then covers everything inside. Rasterising a letter-shaped outline and counting the pixels shows exactly how much survives:
| Line width asked for | Stroke that survives | Painted over | Outline you see |
|---|---|---|---|
| 2 px | 50.5% | 49.5% | 1 px |
| 4 px | 50.8% | 49.2% | 2 px |
| 10 px | 52.9% | 47.1% | 5 px |
| 16 px | 54.3% | 45.7% | 8 px |
Just over half, creeping up as the stroke widens because a convex corner has more room outside the shape than inside it. The visible outline is always half the line width, so asking for eight pixels gets you four.
This page computes its line width as the font size divided by 14, which means the outline you actually see is the font size divided by 28 — 3.57% of the letter height at every image size, since both scale together:
| Image width | Font size | Line width | Visible outline |
|---|---|---|---|
| 400 px | 33.3 px | 2.38 px | 1.19 px |
| 800 px | 66.7 px | 4.76 px | 2.38 px |
| 1200 px | 100.0 px | 7.14 px | 3.57 px |
| 1920 px | 160.0 px | 11.43 px | 5.71 px |
If you are writing this yourself and want an outline of a particular thickness, ask for twice it. The alternative — stroking after filling — gives you the full width but eats into the letter, which is why nobody does it that way.
And the caption size ignores the image height entirely
The font size here is one twelfth of the image width, with no reference to how tall the image is. The same formula therefore produces captions that look nothing alike:
| Image | Size | Font size | Share of the height |
|---|---|---|---|
| landscape 16:9 | 1920 × 1080 | 160 px | 14.8% |
| square | 1000 × 1000 | 83 px | 8.3% |
| phone photo | 1080 × 1920 | 90 px | 4.7% |
| wide banner | 1200 × 300 | 100 px | 33.3% |
A caption on a landscape screenshot is three times the relative size of the same caption on a portrait phone photo — 7.1 times across the whole range. Nothing is broken; it is just that "one twelfth of the width" is a rule about width, and how big text looks is mostly a question about height.
Pushed far enough it stops working altogether. The top caption is drawn 10 pixels from the top and the bottom one 10 pixels from the bottom, so the two collide once the image is shorter than the font size plus 20:
| Image width | Font size | Captions collide below | Aspect ratio |
|---|---|---|---|
| 800 px | 67 px | 87 px tall | 9.2:1 |
| 1200 px | 100 px | 120 px tall | 10.0:1 |
| 1920 px | 160 px | 180 px tall | 10.7:1 |
Ordinary photographs are nowhere near that — a 16:9 screenshot has more than twice the height it needs. Wide banners are the failure case, and they are the one shape a meme generator is never asked for.
How to use
- Choose an image from your device.
- Enter your top and bottom text.
- Adjust size and position if the text crowds the subject.
- Download the finished image.
Frequently asked questions
Why is the text always white with a black outline?
Because it reads on any background. A white outline vanishes on pale images and plain white text disappears against sky or snow, so the heavy black stroke around white letters is the one combination that stays legible over anything. It is a practical solution that became a convention.
Which font is the traditional one?
Impact, a condensed bold typeface from 1965, in capitals. Its extreme condensation lets long lines fit across an image, which is exactly why it was adopted. Its association with the format is now so strong that using anything else reads as deliberate.
Should the text be in capitals?
By convention yes, and it also helps — capitals in a condensed face keep a consistent height and read clearly at small sizes. Mixed case is entirely usable and simply looks different from what people expect.
Does my image get uploaded?
No. The image is composited in your browser and nothing is transmitted, so personal photographs stay on your device.
Can I use any image I like?
Legally, that depends on the image. Copyright applies to photographs used in memes as much as anywhere, and while a great deal of casual sharing goes unchallenged, using someone's photograph commercially without permission is a real risk. Images of private individuals raise separate concerns.
Why does my text run off the edge?
Because the line is longer than the image is wide at the chosen size. Shortening the text, reducing the size, or breaking it across two lines all fix it — and shorter text almost always works better anyway, since a meme has to be readable at a glance.
🔒 This tool runs entirely in your browser. Nothing you enter is uploaded, logged, or stored.