A tool that allows you to convert NMAP XML output to excel/html/csv/json/markdown/dot/sqlite/d2.
go install github.com/vdjagilev/nmap-formatter/v3@latest
cd nmap-formatter
go build
All other options can be found on Installation Wiki page.
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 jsonConvert XML output to nicer HTML
nmap-formatter html [path-to-nmap.xml] > some-file.htmlor Markdown
nmap-formatter md [path-to-nmap.xml] > some-markdown.mdor 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 jsonor Graphviz (dot)
cat example.xml | nmap-formatter dot | dot -Tsvg > test.svg
# open test.svg with browseror SQLite
cat example.xml | nmap-formatter sqlite --sqlite-dsn nmap.sqlite
# open nmap.sqlite with any database toolor D2 lang
cat example.xml | nmap-formatter d2 | d2 - example.png
# Converts nmap.xml to d2 language and then to pngMore examples can be found on Usage Wiki page
-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
Examples on how to use this project as a library in golang: Use as a library Wiki page

