Meme Generator

Drop in a picture, type the top and bottom lines, and export the classic meme as a PNG — with a built-in placeholder if you have no image yet.

Memes are rendered locally on a canvas in your browser. Your image never leaves your device.

Drop a photo here

or click to browse — PNG, JPG, WebP or GIF (first frame)

How It Works

Your image (or the built-in gradient placeholder) is drawn to a canvas capped at 800 px wide, keeping the source aspect ratio. The captions are then composited onto the same canvas: measure, stroke a thick black outline, fill the letters, top band and bottom band. Every option re-renders from the stored source image, so quality never degrades from repeated edits.

Stroke first, fill second
Canvas strokes straddle the glyph outline — half the line width lands inside the letters. Drawing the black stroke first and the fill on top buries that inner half, leaving a clean outline halo and crisp letter interiors at any thickness (scaled to about 12 % of font size here). Reversing the order eats into the letters and makes heavy captions unreadable.
Impact, licensed by your machine
The classic macro look is Impact, and this page uses the copy already installed on your system rather than downloading a licensed webfont — Impact is commercial software, and redistributing it as a webfont would cost money nobody is paying here. Consequence: the fallback chain (Arial Black, Haettenschweiler, bold sans) is what you get where Impact is absent, and PNG output bakes in whichever face rendered.
One line of meme archaeology
White Impact text with a black stroke above and below a photo became the internet's default joke format in the late 2000s image-board era — recognisable enough that the style alone still says "meme" before you read a word.

Frequently Asked Questions

Why does my meme use a different font than the example?

The tool never downloads a webfont — it asks your operating system for Impact, then falls back through Arial Black, Haettenschweiler and other heavy sans faces, and finally to your default sans. Impact ships with Windows and classic macOS installs but not with every Linux or Android build, so the caption style you see is literally whatever your machine has. That keeps the page fast and offline-capable at the cost of exact typographic identity.

Can I make an animated meme GIF?

No. Browsers hand the canvas API only the first frame of an animated GIF, and canvas cannot encode animation back out. You get a still image macro of that first frame. For animated memes you need a dedicated GIF editor; nothing is lost from your original file by trying it here first.

Can I use a meme I made for commercial purposes?

Be careful. The caption is yours, but the background picture usually is not — classic meme templates are copyrighted photographs or screenshots whose owners occasionally enforce rights in commercial contexts. Personal posts and non-commercial sharing are broadly tolerated, but before putting a template on a t-shirt or an ad, check the source image's licence or use a photo you own.

The text covers the subject's face. How do I fix it?

Drag the size slider down — caption size scales with image width, and 10–12 % is the sweet spot for narrow vertical images. Captions sit in the traditional top and bottom bands with a small safe margin; if your crop leaves no room there, crop the image in a photo editor first or choose the sample background to check your wording.

Is anything uploaded to a server?

No. The picture is read by a local FileReader and composited entirely on a canvas in your browser; download and clipboard copy pull from that canvas. There is no upload endpoint, no history and no account — disconnect and the generator still works.