An API to programmatically generate memes based solely on requested URLs.
Buy me a coffee to help keep this service running!
The API is stateless so URLs contain all the information necessary to generate meme images. For example, https://api.memegen.link/images/buzz/memes/memes_everywhere.gif produces:
Clients can request .jpg
instead of .png
for smaller files. The .gif
extension can be used if an animated background is available or to animate text on static backgrounds:
Format | Example |
---|---|
PNG | /images/ds/small_file/high_quality.png |
JPEG | /images/ds/high_quality/small_file.jpg |
GIF (animated background) | /images/oprah/you_get/animated_text.gif |
GIF (static background) | /images/iw/animates_text/in_production.gif |
Images can be scaled to a specific width or height using the width=<int>
and height=<int>
query parameters. If both are provided (width=<int>&height=<int>
), the image will be padded to the exact dimensions.
For example, https://api.memegen.link/images/both/width_or_height/why_not_both~q.png?height=450&width=800 produces:
In URLs, spaces can be inserted using underscores or dashes:
- underscore (
_
) → space ( - dash (
-
) → space ( - 2 underscores (
__
) → underscore (_
) - 2 dashes (
--
) → dash (-
) - tilde + N (
~n
) → newline character
Reserved URL characters can be included using escape patterns:
- tilde + Q (
~q
) → question mark (?
) - tilde + A (
~a
) → ampersand (&
) - tilde + P (
~p
) → percentage (%
) - tilde + H (
~h
) → hashtag/pound (#
) - tilde + S (
~s
) → slash (/
) - tilde + B (
~b
) → backslash (\
) - tilde + L (
~l
) → less-than sign (<
) - tilde + G (
~g
) → greater-than sign (>
) - 2 single quotes (
''
) → double quote ("
)
For example, https://api.memegen.link/images/ugandanknuck/~hspecial_characters~q/underscore__-dash--.png produces:
All of the POST
endpoints will return image URLs with special characters replaced with these alternatives.
The list of predefined meme templates is available here: https://api.memegen.link/templates/
Some memes come in multiple forms, which can be selected using the style=<str>
query parameter.
For example, the https://api.memegen.link/templates/ds/ template provides these styles:
/images/ds.png |
/images/ds.png?style=maga |
---|---|
The style=<str>
query parameter can also be an image URL to overlay on the default background image.
For example, https://api.memegen.link/images/pigeon/Engineer/_/Is_this_Photoshop~q.png?style=https://i.imgur.com/W0NXFpQ.png produces:
You can also use your own image URL as the background.
For example, https://api.memegen.link/images/custom/_/my_background.png?background=http://www.gstatic.com/webp/gallery/1.png produces:
The full list of fonts is available here: https://api.memegen.link/fonts/
Add the font=<str>
query parameter to customize the look of your meme:
Name | ID | Alias |
---|---|---|
Titillium Web Black | font=titilliumweb |
font=thick |
Kalam Regular | font=kalam |
font=comic |
Impact | font=impact |
- |
Noto Sans Bold | font=notosans |
- |
Explore the full API here: https://api.memegen.link/docs/