nmap-formatter
→ View on GitHubAI 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
Examples
HTML:
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)--helpdisplay help message--versiondisplay version (also can be used:./nmap-formatter version)--skip-down-hostsskip hosts that are down (by defaulttrue)
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