Live discovery
Results appear as hosts are checked — no waiting for the sweep to
finish. Cancel any time; scans stay responsive on a full
/24.
Scan. Map. Monitor. Repeat.
A free, open-source LAN scanner and network visualizer. Enter a CIDR, hit scan, and watch every device on your network stream in live — as a precise device list, groups by type, and a 3D map of your network. Windows and Linux.
No agents · no accounts · no Nmap · just run it.
Grab the build for your platform from the latest release. The desktop app is ready to run — no Go, Node, or build tools required.
netviz.exe at the top level
netviz-<version>-windows-amd64.zip
Linux
Extract and run ./netviz/netviz
netviz-<version>-linux-amd64.tar.gz
Windows builds are code-signed and timestamped; Windows SmartScreen may
still ask for a confirmation (More info → Run anyway) until the app
builds reputation. The Linux build is not signed: check it against its
SHA-256 file. There is no prebuilt macOS download yet; NetViz builds
from source on macOS. Every archive also ships the
netviz-cli command-line scanner and a SHA-256 checksum.
NetViz validates your CIDR, runs a bounded native-Go TCP-connect scan of common LAN ports, enriches what it finds, and streams every observation into the views, exports, and history — all from the same live event stream.
Results appear as hosts are checked — no waiting for the sweep to
finish. Cancel any time; scans stay responsive on a full
/24.
Hostname resolution, MAC lookup from your ARP cache, and vendor names from an embedded snapshot of the full IEEE OUI registry — about 40,000 manufacturers — with a conservative device-type guess for every host.
Re-scans on an interval and flags every device so you can watch the network move:
new online offline changed stable
Click any device for a detail panel with IP, hostname, MAC, vendor, type, open ports — and its stored timeline: when it was up, what ports it exposed, and when that changed.
Save scans as versioned NetViz JSON and reopen them later, or export the table to CSV — straight from the File menu.
Completed scans land in a local SQLite database — monitor cycles with no changes are merged, so history records state changes, not noise. History compares any two scans.
The app checks GitHub Releases, downloads on your say-so, verifies the SHA-256 checksum, and installs in place — keeping the previous version as a backup.
The same monitored /24 in every view — a precise device
list, groups by type, a 3D map, and the history diff. Light and dark
themes follow your system. Click any snapshot for the full-size view.
The precise operational view: address, name and vendor, what changed in the latest pass, type, open ports, MAC, first and last seen. Columns fit the window instead of scrolling sideways, and addresses that never answered stay out of the way until you ask.
One card per device type that is actually present — network gear, Windows, Linux and IoT, printers, cameras, web appliances — with changes called out on each device.
The gateway at the center and every device type as its own
cluster around it. Taller devices have more open ports. Orbit,
zoom, double-click to fly to a device, or switch to the flat map.
Smooth well past a /24.
Every saved scan at a glance. Compare any two to see which devices joined, which left, and exactly what changed on the rest.
NetViz performs bounded TCP-connect checks against a constrained, LAN-oriented default port set — enough to identify what a device is, without behaving like an aggressive scanner.
SSH HTTP / HTTPS SMB RDP VNC Printer (631 / 9100) RTSP MQTT Plex Alt web / admin
The same scan engine ships three ways: the desktop app, an always-on probe you drop at a site, and a self-hosted server that turns probe pushes into a live web dashboard.
netviz-probe installs as a Windows service, systemd
unit, or launchd job, scans on an interval, and pushes device
inventory with heartbeats — to AnchorDesk or your own NetViz
server, same wire contract.
The desktop app's Probe page installs, configures, and manages the service — URL, key, CIDR, interval — through a shared config file the running service re-reads on every cycle.
One Docker container stores every push in SQLite and serves a
live dashboard: the full device list, device details on click,
and the same 3D network map as the desktop app — in light or
dark, on a laptop or a phone. Try it with /?demo.
Optional OIDC SSO (Entra ID, Google, Keycloak, Authentik) puts the web UI behind your identity provider. Probes authenticate with keys; ingest is deny-by-default until one is configured.
docker run -p 8080:8080 -e NETVIZ_INGEST_KEY=your-key \
-v netviz-data:/data ghcr.io/spillers-technology/netviz
netviz-probe -url http://server:8080 -key your-key -cidr 192.168.1.0/24
Every release bundles netviz-cli, which shares the same
scan engine and local history store as the desktop app — scan,
save, list, and diff runs as JSON. Pipe it, script it, cron it.
netviz-cli scan -cidr 192.168.1.0/24
netviz-cli scan -cidr 192.168.1.0/24 -save
netviz-cli history
netviz-cli diff
One rule: ScanEngine → EventBus → Consumers. The scanner
core has no dependency on the UI, server, or storage — every view,
export, and history record consumes the same typed event stream.
MIT licensed, written in Go with a Wails desktop shell. The history store uses a pure-Go SQLite driver, so there's no CGO anywhere in the build. Read the code, file an issue, or send a PR — the whole scanner fits in your head.
netviz-probe headless scanner with AnchorDesk device push, heartbeats, and native service management.