
To create a“meme”, or just adding text to an image - you don't need an app or an online service. You can do it yourself, in Terminal, using ImageMagick. Here's a short snippet you can use.
Since the command is kind of long, you can save in some file, or make a bash function - or maybe a script.
# ImageMagick v6$convertin.jpg-gravity south-font Impact-pointsize 120-fill white-stroke black-strokewidth 3-annotate +0+0'Add text here' out.jpg# ImageMagick v7$magickin.jpg-gravity south-font Impact-pointsize 120-fill white-stroke black-strokewidth 3-annotate +0+0'Add text here' out.jpg
Text position
For-gravity
you can use your normal: north, south, center, southeast, etc.
Fonts
I usedImpact
in the example. It's usally installed. But, if you want to change the font - just use another one from the list of fonts. Most font names are formatted with a dash, like “DevaVu-Sans-Bold”, “NimbusSans-Bold”, etc.
If you try one and it returns an error - you can get the list of fonts (ie. the font names) using:
# ImageMagick v6$identify-list font# ImageMagick v7$magick-list font
To get a more readable list, you can use:
$identify-list font |grep'Font'
Text stroke
The size of the text stroke depends a little on the font, and what you like. 1-3 are good values. I usually go with 2, and sometimes (depending on the font) I use 1 or 3.
3 is probably closest to what you get at an online meme generator.
Example
Here's an example adding text 2 times (top and bottom).
$magickin.jpg\-gravity north-font Impact\-pointsize 120-fill white\-stroke black-strokewidth 3\-annotate +0+0'Text at top'\ out1.jpg$magick out1.jpg\-gravity south-font Impact\-pointsize 120-fill white\-stroke black-strokewidth 3\-annotate +0+0'Text at bottom'\ out2.jpg
It's more fun to spend time in Terminal, than at some online meme generator page. Plus, if you dig deeper into ImageMagick - you can add a lot of other effects as well. This was just a simple example.
// Happy hacking… 👍
· Eric
Top comments(2)

- Email
- LocationNew York metropolitan area
- EducationBSc in Physics, Stony Brook University, New York
- WorkManager of Analytics Engineering at route1.io | Freelance software engineer and data scientist
- Joined
Lol this is a really fun tutorial, thank you for sharing Eric!
Always love learning new ways to use command line tools, I've had a lot of fun building all sorts of little DIY projects with ImageMagick, FFmpeg, etc

- LocationInbetween Europe (mostly Swe)
- Joined
Thanks Chris! 👍
Yes, you can do a lot of DIY witht those to. I use ffmpeg as well, to create mp3's and m4a's. So much easier when you have them in like a function or script - instead of using a GUI program. :)
/* Beside ImageMagick, to optimize the images - I also use jpegoptim, optipng and gifsicle. They're also really easy to use with scripts/functions. :) */
For further actions, you may consider blocking this person and/orreporting abuse