Create memes with customizable text overlays. Add multiple text layers, adjust fonts, colors, and positions.
Create memes fast. Pick a template or upload your own image, add top and bottom text in the classic meme style, adjust font and positioning, and download. No watermarks, no account needed.
Initializing in your browser…
Resize and scale images with smart aspect ratio control. Supports custom dimensions, percentage scaling, social media presets, and batch resizing while maintaining image quality.
Extract text from images using advanced OCR. Supports 18+ languages, page segmentation modes, confidence scores, and multi-format export.
Crop and trim images with precision visual selection. Features aspect ratio presets (1:1, 16:9, 4:3), free-form cropping, grid overlays, and pixel-perfect adjustments for professional results.
You want a classic top/bottom caption meme for a team Slack with the bold outlined text.
Input
template.jpg · top "WHEN THE BUILD" · bottom "PASSES FIRST TRY"
Output
meme.jpg with Impact-style outlined captions positioned correctly
The signature white text with a black stroke stays legible over any background, and auto-sizing keeps long captions inside the frame. Export is one click for sharing.
Create memes fast. Pick a template or upload your own image, add top and bottom text in the classic meme style, adjust font and positioning, and download. No watermarks, no account needed.
Upload an image, type into the preset TOP TEXT (10% height) and BOTTOM TEXT (90% height) layers, leave Impact/white-fill/black-3px-stroke defaults, and Download Meme to get meme.png at the image's native size.
Since there's no auto-wrap, click Add Text for each line, drag each layer to stack them, and adjust per-layer size (12-120px) so a long quote fits without overflowing the edges.
The Meme Generator renders captions on an HTML5 Canvas 2D context, reproducing the classic meme look by calling strokeText before fillText for every overlay: the outline is drawn with lineWidth equal to your stroke width times two, lineJoin set to 'round' and miterLimit 2, then the fill color is painted on top so the text reads clearly over any background. Defaults match the meme convention out of the box, Impact font (with Arial Black, Comic Sans, Helvetica, Georgia, Verdana and Times New Roman as alternatives), 48px size, white fill (#ffffff) and a 3px black (#000000) outline. One quirk to know: all text is forced UPPERCASE in both the live preview and the exported file via toUpperCase(), so lowercase you type is converted automatically.
Rather than fixed top/bottom slots, it uses a layer model: you start with two draggable overlays (TOP TEXT positioned at 10% height and BOTTOM TEXT at 90%), and can Add Text for additional layers or delete them down to a minimum of one. Each layer is independently editable, font family, font size (slider 12 to 120px in steps of 2), text color and stroke color (color picker plus hex field), stroke width (slider 0 to 10px, set to 0 for no outline), left/center/right alignment, bold and italic. Position is stored as percentages (0 to 100) of the image, not pixels, and dragging is clamped to that range, so a caption placed in the preview lands in the same relative spot when exported at the image's native resolution.
Export draws the original uploaded image at its real width and height, then bakes each overlay onto it (textBaseline 'middle', percentage coordinates scaled to canvas pixels) and saves via canvas.toBlob as meme.png, always PNG with no watermark. Everything runs locally in the browser on the uploaded file. The font size, font family and stroke width defaults are encoded into the shareable URL through ShareConfigButton, so you can hand someone a link that opens the tool pre-set to your styling. Note there is no automatic line wrapping, long captions render as a single line and can overflow the image edge, so you break lines by adding separate text layers.
Yes. Upload any image to use as a meme base.
Yes, a selection of widely recognized templates is available to get you started quickly.
Images are decoded, edited, and exported entirely inside this browser tab. No originals, exports, or metadata are uploaded.