Render RTF documents in HTML.
Clone or download
Latest commit e06ebad Jul 29, 2018


Build Status Coverage Status npm version

Render RTF documents in HTML. This also includes rendering WMF and EMF images which are often contained in RTF documents.


The code of this project is licensed under the MIT license. See the file LICENSE for details.

Using the library

For information on how to use the library see the Getting Started Guide

Live samples:


  • rtf.js requires:
  • wmf.js and emf.js require:
  • Rendering WMF and EMF images is accomplished by using HTML5's <svg> feature.
  • Rendering RTF documents often requires rendering embedded WMF and EMF images, however rtf.js can be used without wmf.js and emf.js or with just one of them, if rendering such images is not required.

See the Getting Started Guide for details.


To develop first install the dependencies using npm install.


To build the entire project and create the bundles run:

$ npm run build


Please run npm run lint first to make sure your code adheres to the style guide.

To run the test suite run:

$ npm run test

To create a new test (type is rtf, emf or wmf):

$ npm run generate-testcase type test-name /path/to/test.rtf

To regenerate the expected result for an existing test:

$ npm run regenerate-testcase type test-name

Code Coverage

To generate code coverage metrics run:

$ npm run coverage

Afterwards you can generate a nice html report in the coverage directory:

$ npm run coverage-html

Warning: creating coverage reports instruments the bundles in the dist directory. Don't forget to build the project again before committing.