As developers, we don't have great skills with image manipulation softwares, but we still need it. In my case I had to generate Twitter cards for social media and flyers for the meetup I co-organize. An important point for use is automation. So I wanted a solution that let me make a template and generates a lot of images without extra work.

That is why I created node-html-to-image. A Node.js module that generates images from HTML.

Here is the simplest example, you provide an output path and a HTML string. That's all!



const nodeHtmlToImage = require ( ' node-html-to-image ' ) nodeHtmlToImage ({ output : ' ./image.png ' , html : ' <html><body>Hello world!</body></html> ' }) . then (() => console . log ( ' The image was created successfully! ' ))

I talked about automation earlier. It comes with a templating engine, Handlebars. It enables creating multiple images using the same template.

In the following example, we changed world by a placeholder and inject its value with the content option.



const nodeHtmlToImage = require ( ' node-html-to-image ' ) nodeHtmlToImage ({ output : ' ./image.png ' , html : ' <html><body>Hello {{name}}!</body></html> ' , content : { name : ' you ' } }) . then (() => console . log ( ' The image was created successfully! ' ))

You want to generate images from HTML without writing a line of code? No problem, I also made a cli that use node-html-to-image underneath called node-html-to-image-cli.



npx node-html-to-image-cli index.html image.png

Generated image:

Feel free check out the GitHub repositories if you are interested:

Want to support ? Don't forget to leave a ⭐️

Feedback or ideas are appreciated 🙏 Please tweet me if you have questions @YvonnickFrin!