Simple CLI for diff2html library
Clone or download
Latest commit beaee81 Jun 16, 2018


Codacy Code Badge Codacy Coverage Badge Circle CI Dependency Status

npm David David

node npm npm Gitter

Diff to Html generates pretty HTML diffs from unified and git diff output in your terminal


  • Unified diff and Git diff input

  • line-by-line and side-by-side diff

  • new and old line numbers

  • inserted and removed lines

  • GitHub like style

  • Code syntax highlight

  • Line similarity matching

Online Example

Go to Diff2HTML



npm install -g diff2html-cli


Usage: diff2html [options] -- [diff args]

  -s, --style                       Output style   [choices: "line", "side"] [default: "line"]
  --sc, --synchronisedScroll        Synchronised horizontal scroll   [choices: "enabled", "disabled"] [default: "enabled"]
  --su, --summary                   Show files summary   [choices: "closed", "open", "hidden"] [default: "closed"]
  --lm, --matching                  Diff line matching type   [choices: "lines", "words", "none"] [default: "none"]
  --lmt, --matchWordsThreshold      Diff line matching word threshold   [default: "0.25"]
  --lmm, --matchingMaxComparisons   Diff line matching maximum line comparisons of a block of changes [default: 2500]
  --hwt, --htmlWrapperTemplate      Path to custom template to be rendered when using the "html" output format [string]
  -f, --format                      Output format   [choices: "html", "json"] [default: "html"]
  -d, --diff                        Diff style   [choices: "word", "char"] [default: "word"]
  -i, --input                       Diff input source   [choices: "file", "command", "stdin"] [default: "command"]
  -o, --output                      Output destination   [choices: "preview", "stdout"] [default: "preview"]
  -u, --diffy                       Upload to   [choices: "browser", "pbcopy", "print"]
  -F, --file                        Send output to file (overrides output option)   [string]
  --version                         Show version number
  -h, --help                        Show help

  diff2html -s line -f html -d word -i command -o preview -- -M HEAD~1
      -> diff last commit, line by line, word comparison between lines,previewed
         in the browser and input from git diff command
  diff2html -i file -- my-file-diff.diff
      -> reading the input from a file
  diff -u file1.txt file2.txt | diff2html -i stdin
      -> reading diff from stdin
  diff2html -f json -o stdout -- -M HEAD~1
      -> print json format to stdout
  diff2html -F my-pretty-diff.html -- -M HEAD~1
      ->  print to file
  diff2html -F my-pretty-diff.html --hwt my-custom-template.html -- -M HEAD~1
      ->  print to file using custom markup
          templates can include the following variables:
            `<!--diff2html-css-->` - writes default CSS to page
            `<!--diff2html-js-ui-->` - writes default JavaScript UI scripts to page
            `//diff2html-fileListCloseable` - writes code to support selected list interaction, must be within a <script> block
            `//diff2html-synchronisedScroll` - writes code to support selected scroll interaction, must be within a <script> block
            `<!--diff2html-diff-->` - writes diff content to page

© 2014-2016 rtfpessoa
For support, check out

NOTE: notice the -- in the examples


This is a developer friendly project, all the contributions are welcome. To contribute just send a pull request with your changes following the guidelines described in I will try to review them as soon as possible.


Copyright 2014-2016 Rodrigo Fernandes. Released under the terms of the MIT license.


This project is inspired in pretty-diff by Scott González.