Add bold top and bottom text to any image with adjustable font size, color, outline, and position — the classic meme format, rendered entirely in your browser. Upload your own photo or start from a blank template.
Drag and drop an image here, or click below to browse. JPG, PNG, and WebP supported.
The top-text/bottom-text meme format — bold, white, black-outlined, uppercase text positioned at the very top and bottom of an image — became the default meme layout in the mid-2000s through early meme-generator websites and image boards, and it has stayed dominant for a simple practical reason: it stays legible over almost any image. The heavy black outline guarantees contrast against light or dark backgrounds alike, the uppercase bold lettering reads clearly even at the small sizes memes are often viewed at on a phone screen or after repeated recompression by social platforms, and positioning the text at the very top and bottom keeps the main image content in the middle, unobstructed.
This tool draws your uploaded image onto an HTML canvas at its full original resolution, then uses the canvas 2D rendering context's text APIs to draw your top and bottom captions on top of it. For each line of text, it first strokes an outline (if your outline width is above zero) using the canvas's strokeText method, then fills the letter shapes on top using fillText — drawing the stroke first and the fill second is what produces the classic outlined-text look, since the stroke would otherwise cover part of the fill if drawn afterward. Text that's too wide for the image at your chosen font size automatically wraps onto additional lines, measured precisely using the canvas's own text-measurement API rather than a rough estimate.
The single biggest factor in whether meme text reads well is contrast against its background — white text with a black outline is the classic default because it's legible over the widest range of source images, but you can flip to black text with a white outline for a very light or white-heavy image, or pick a completely different color combination if you want a distinct stylistic look rather than the traditional format. Font size should scale roughly with your image's resolution and how much text you're adding — a large font on a small image (or a long caption) will wrap onto many lines and can crowd the image, while a font that's too small can become hard to read once the image is shared, resized, or recompressed by a platform.
The specific visual convention this tool replicates traces back to advice animals and image macros from sites like 4chan, Something Awful, and eventually Reddit and Imgur in the mid-to-late 2000s, where a recognizable image (often a stock photo, a screenshot, or a reaction shot) was paired with a setup line at the top and a punchline at the bottom, following a two-beat joke structure borrowed from earlier print cartoon captioning conventions. As the format spread and got remixed endlessly, the visual style itself — Impact font, white fill, black outline, all caps — became so associated with 'meme' as a category that it's now instantly recognizable even divorced from any specific image or joke, which is exactly why this tool defaults to that same look regardless of which image you provide.
Since this tool doesn't include copyrighted meme template photos, the most effective way to use it is to bring your own image with a moment, expression, or scene that's inherently funny or relatable on its own — a photo from your own camera roll, a screenshot you took yourself, or a genuinely royalty-free stock image. A good base image for this format typically has a clear, uncluttered top and bottom area for text to sit without covering the main subject, and enough visual or emotional content in the middle that the caption adds a punchline rather than doing all the work — the same qualities that made the original meme template photos work in the first place.
Meme Generator adds classic top/bottom caption text to any image. These related image tools cover other common image editing tasks.