:)AI Meme Maker

From one sentence to six memes

What actually happens in the ten seconds between typing and downloading — followed through with a real prompt, My code works and I have no idea why.

  1. 1

    You describe the moment

    One sentence is enough — a situation, an opinion, a thing that keeps happening. You can also pick a tone (dry, sarcastic, wholesome, absurd, dark, work-safe), a spice level, who the meme is for, and one of 11 caption languages. Or pin a specific template if you already know the format you want.

    My code works and I have no idea why
    Auto styleDrySarcasticWholesome|MildMediumSpicy|DevelopersEnglishGenerate 6 memes
    The controls as they appear on the generator; every one is optional.
  2. 2

    The templates get shortlisted

    Before any AI is involved, the prompt is matched against 195 templates by keyword and by the shape of joke each format is built for. Around a dozen candidates go to the model along with each template's slot guide — what goes on top, who is the "distracted boyfriend", which line is the punchline.

    • I Have No Idea What I'm Doing template

      I Have No Idea What I'm Doing

    • Captain America Elevator Fight Dad Joke template

      Captain America Elevator Fight Dad Joke

    • Panik Kalm Panik template

      Panik Kalm Panik

    • Roll Safe template

      Roll Safe

    • Midwit template

      Midwit

    • That Would Be Great template

      That Would Be Great

    • Drake Hotline Bling template

      Drake Hotline Bling

    • Expanding Brain template

      Expanding Brain

    Part of the shortlist for this prompt. Highlighted ones are the templates the model actually picked in the run below.
  3. 3

    Captions are written in each format's grammar

    The language model picks six of the candidates and writes captions that respect each template's rules: the rejected thing on Drake's top panel, four escalating steps for Expanding Brain, a single flat take for Change My Mind. It answers in structured JSON, which is validated before anything is shown.

    4

    Your browser draws the image

    Each result is rendered on an HTML canvas on your device using the template's real text boxes: the text is auto-fitted to the box, wrapped, outlined in Impact (Anton on phones that lack it). No image is uploaded to a server. Nothing is watermarked.

    • I Have No Idea What I'm Doing meme — my tests passed / i have no idea why
      DownloadCopyEditRewriteSwap
    • Captain America Elevator Fight Dad Joke meme — did you change anything in the repo / nope / it fixed itself
      DownloadCopyEditRewriteSwap
    • Panik Kalm Panik meme — local run fails / push to prod anyway / prod run succeeds and I'm terrified
      DownloadCopyEditRewriteSwap
    • Roll Safe meme — Can't be late to meetings / If you answered the email
      DownloadCopyEditRewriteSwap
    • That Would Be Great meme — If you could make meetings emails / That'd be great
      DownloadCopyEditRewriteSwap
    • Hide the Pain Harold meme — Marketing: make the logo bigger / Me: smiling, quietly panicking
      DownloadCopyEditRewriteSwap
    The first 3 are the actual results for the demo prompt; the rest are from other prompts on the examples page. Rendered by the same code that runs in your browser.
  4. 5

    Edit, rewrite, swap — per card

    Like the template but not the joke? Rewrite that one card. Like the joke but not the template? Swap it. Hit Edit to rewrite lines inline, drag captions anywhere, and resize them. Reset puts the original back.

    Drake Hotline Bling meme in edit mode
    A−A+ResetDone
    • Dashed box = a caption you can drag anywhere on the image.
    • Corner handle = resize; the text refits to the new box.
    • Click a line to rewrite it inline; Reset restores the AI version.
    • Rewrite = new caption, same template. Swap = same joke idea, different template.
  5. 6

    Download or share

    Download a clean PNG at the template's native size, copy it to the clipboard, or use the system share sheet on mobile. Your recent memes stay on this device (localStorage) so you can come back to them; there is no account and nothing is stored on our side.

Questions

Where does my prompt go?

To the AI provider that handles the request (OpenAI, with Cloudflare Workers AI, Groq, Google Gemini and OpenRouter as fallbacks). The Privacy page lists what each provider does with API traffic. The image you make never leaves your browser unless you share it.

Why six memes instead of one?

Because comedy is hit-rate, not accuracy. Six attempts across different formats means two or three usually land, and the per-card rewrite covers the rest. One 'best' attempt would be wrong more often than not.

Can it caption my own photo?

Yes. Switch to “My image”, pick a photo, describe what's happening in it, and the AI writes classic top/bottom captions. The photo is resized and captioned entirely in your browser.

What are the limits?

A per-IP limit on generations per minute and per day keeps it free for everyone. There is no sign-up, no watermark and no paid tier today; if that ever changes it will be in the changelog first.