Build Node.js Text to PNG,JPEG Image Converter With Custom Fonts Using text2png Library in Browser Using Javascript Full Project For Beginners



npm i text2png



text2png: text-to-png generator for Node.js

text2png('Create png image\nfrom multi-line text!');


Quick start

text2png depends on node-canvas. See node-canvas wiki on installing node-canvas.

$ npm install text2png
var fs = require('fs');
var text2png = require('text2png');
fs.writeFileSync('out.png', text2png('Hello!', {color: 'blue'}));


text2png(text, option)

param default
text (required)
option.font ’30px sans-serif’
option.textAlign ‘left’
option.color (or option.textColor) ‘black’
option.backgroundColor (or option.bgColor) ‘transparent’
option.lineSpacing 0
option.strokeWidth 0
option.strokeColor ‘white’
option.padding 0
option.padding(Left|Top|Right|Bottom) 0
option.borderWidth 0
option.border(Left|Top|Right|Bottom)Width 0
option.borderColor ‘black’
option.output ‘buffer’

option.color = '#000' | 'rgb(0, 0, 0)' | 'black' | ...

option.output = 'buffer' | 'stream' | 'dataURL' | 'canvas'

option.strokeWidth = 1 | 2 | ... A padding may have to be set to avoid cutoff of stroke

'canvas' returns node-canvas object.

If you want to use any custom fonts without installing, use localFontPath and localFontName property.

text2png('with custom fonts', {
  font: '50px Lobster',
  localFontPath: 'fonts/Lobstar-Regular.ttf',
  localFontName: 'Lobster'

Command line interface

$ npm install -g text2png
$ text2png --help
$ text2png -t "Hello!" -o "output.png"


text2png('Example\nText', {
  font: '80px Futura',
  color: 'teal',
  backgroundColor: 'linen',
  lineSpacing: 10,
  padding: 20


Leave a Reply