Noncollinear Perpendicular Microcrystalline
Unleash awesomeness. Private packages, team management tools, and powerful integrations. Get started with npm Orgs »


2.0.0 • Public • Published
PlantUML logo Webpack logo

PlantUML file loader

Converts PlantUML files into images during the webpack processing.

The image conversion is inspired by the Yury Korolev's plantuml-loader which uses a dockerized version of PlantUML, which includes GraphViz for the image generation. However this loader:

  • uses ES6 syntax
  • involves non-blocking methods and abstractions (streams and buffers) to perform the generation
  • produces image files instead of returning the generated file content (that may come later as an option if needed)


Install the plantuml-file-loader:

# via yarn 
yarn add -D webpack plantuml-file-loader
# via npm 
npm i -D webpack plantuml-file-loader

In your webpack.config.js file:

module.exports = {
  // ...
  module: {
    rules: [
      // ...
        test: /\.p?uml$/,
        use: 'plantuml-file-loader?format=svg&outputPath=img/'
      // ...
  // ...

The format can be any of those supported by PlantUML: see the -t formats in the command-line Help section.

Use cases


The loader spawns a docker container to which it delegates the image conversion. Therefore:

Web-based slideshows

Combine this loader with the markdown-image-loader to build slideshows based on markdown documents. In your markdown file, simply refer to PlantUML source files and they will be converted into images (in SVG format by default, which can be zoomed-in without aliasing).

  • the my-class-diagram.puml PlantUML file:
class Car

Driver - Car : drives >
Car *- Wheel : have 4 >
Car -- Person : < owns

  • your markdown document:
# Class-diagram slide

The class diagram is as follows:


And the diagram will be displayed as a real image in your slideshow:

Unit tests

Unit tests can be run with the npm test command.

Despite these efforts, should you find an issue or spot a vital feature, you are welcome to report bugs and submit code requests!


  • 2.0.0: updated for webpack 4.x (see modifications done on the loader's option and context)
  • 1.0.3: screenshot fix
  • 1.0.2: added: screenshot of class-diagram slide demo, docker requirements
  • 1.0.1: link fix in
  • 1.0.0: initial version for webpack 3.x


May be freely distributed under the MIT license.

Copyright (c) 2017-2018 Luc Sorel


npm i plantuml-file-loader

Downloadsweekly downloads









last publish


  • avatar
Report a vulnerability