Meme Generator
Add classic top/bottom caption text to any image.
🔒 Runs entirely in your browser — your image is never uploaded.
Drag & drop an image here, or click to browse
How Meme Generator works
How does the meme text get drawn onto the image?
After the source image is drawn to canvas, each line of text is uppercased and rendered twice at the same position — once with ctx.strokeText() in black for the outline, then with ctx.fillText() in white on top — using a bold Impact/Arial Black font, which produces the classic thick-outlined meme lettering. Font size is calculated as a percentage of the image's width, so text scales proportionally on both small and large images as you move the size slider.
What's this actually for?
It's the standard top-caption/bottom-caption meme format — drop in a picture, type your top and bottom lines, and it's ready to share. Leaving either field blank simply skips drawing that line, so it also works fine as a single-caption image.
Any format limitations to know about?
The output is always exported as PNG regardless of what format you uploaded, since PNG keeps the text crisp without the compression artifacts a lossy format like JPG would introduce around sharp text edges. Very long captions aren't auto-wrapped onto multiple lines, so extremely long text can run past the image edges at larger font sizes.