npm promulgates marsupials


Need private packages and team management tools?Check out npm Orgs. »


3.15.0 • Public • Published


Build Status Download count Current tag CDNJS version size gzip size

Browser matrix

docxtemplater logo

docxtemplater is a library to generate docx/pptx documents from a docx/pptx template. It can replace {placeholders} with data and also supports loops and conditions. The templates can be edited by non-programmers, for example your clients.


Demo Site



The full documentation of the latest version can be found on read the docs.

See for information about how to migrate from older versions.

A user of docxtemplater named Timofey also created a tool to create documents easily :

You can find the tool at : , and a screencast showing how it works at

Similar libraries

They are a few similar libraries that work with docx, here’s a list of those I know a bit about:

  • docx4j :JAVA, this is probably the biggest docx library out there. There is no built in templating engine, but you can generate your docx yourself programmatically
  • docx.js: Javascript in the browser, you can create (not modify) your docx from scratch, but only do very simple things such as adding non formatted text
  • xlsx-templater : its working quite well, does the same as here but for xlsx
  • officegen : works only server side for the moment but will be released soon for browser support


Functionality can be added with modules. Here is the list of existing modules:

PRO Modules developped by docxtemplater core team :

  • Image module using the syntax: {%image},
  • Html Module to insert formatted text in a docx document
  • Slides Module to create multiple slides dynamically
  • Subtemplate Module to include a document inside an other document
  • Word-Run Module to include raw runs (<w:r>) inside the document. This makes it possible to include styled text without having to remove the enclosing paragraph like in the {@rawXml} tag.
  • QrCode Module to replace an image, keeping any existing properties
  • Error Location Module to show the errors in the template with comments inside the template
  • Table Module to create tables from two dimensional data.

User-contributed modules :

  • Chart Module using the syntax: {$chart} , user contributed (compatible with v2 only)
  • Hyperlink module using the syntax: {^link}, (compatible with v2 only)


npm i docxtemplater

Downloadsweekly downloads









last publish


  • avatar
Report a vulnerability