> cat /dev/github | grep security-tools
discovered 30 Mar 2026

nmap-formatter

Go ★ 726 via github-topic
→ View on GitHub

AI Summary: NMAP-Formatter is a versatile tool designed to convert NMAP XML output into various formats such as HTML, CSV, JSON, Excel, and more, facilitating the analysis and reporting of network scan results. Notable features include support for output via stdin, the ability to generate diagrams using Graphviz, and options to skip down hosts, enhancing usability for security professionals and network administrators. This tool can also be utilized as a library in Golang for integration into other applications.


README

NMAP-Formatter

build status codecov Maintainability


Examples

HTML: nmap-example-html Graphviz: nmap-example-graphviz

A tool that allows you to convert NMAP XML output to excel/html/csv/json/markdown/dot/sqlite/d2.

Installation

go install github.com/vdjagilev/nmap-formatter/v3@latest
cd nmap-formatter
go build

All other options can be found on Installation Wiki page.

Usage

nmap-formatter [html|csv|md|json|dot|sqlite|excel|d2] [path-to-nmap.xml] [flags]

Or alternatively you can read file from stdin and parse it

cat some.xml | nmap-formatter json

Convert XML output to nicer HTML

nmap-formatter html [path-to-nmap.xml] > some-file.html

or Markdown

nmap-formatter md [path-to-nmap.xml] > some-markdown.md

or Excel

nmap-formatter excel [path-to-nmap.xml]

or JSON

nmap-formatter json [path-to-nmap.xml]
# This approach is also possible
cat nmap.xml | nmap-formatter json

or Graphviz (dot)

cat example.xml | nmap-formatter dot | dot -Tsvg > test.svg
# open test.svg with browser

or SQLite

cat example.xml | nmap-formatter sqlite --sqlite-dsn nmap.sqlite
# open nmap.sqlite with any database tool

or D2 lang

cat example.xml | nmap-formatter d2 | d2 - example.png
# Converts nmap.xml to d2 language and then to png

More examples can be found on Usage Wiki page

Flags

  • -f, --file [filename] outputs result to the file (by default output goes to STDOUT)
  • --help display help message
  • --version display version (also can be used: ./nmap-formatter version)
  • --skip-down-hosts skip hosts that are down (by default true)

It’s also possible to change various output options. More examples on Usage Wiki Page - Flags.

Screenshots of various formats available here

Use as a library

Examples on how to use this project as a library in golang: Use as a library Wiki page