NetViz

Scan. Map. Monitor. Repeat.

NetViz

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 table, a grouped graph, and a clickable hierarchy map. Windows, macOS, and Linux.

No agents · no accounts · no Nmap · just run it.

Download NetViz

Grab the build for your platform from the latest release. The desktop app is ready to run — no Go, Node, or build tools required.

Early FOSS builds aren't code-signed yet. On first launch, Windows SmartScreen (More info → Run anyway) or macOS Gatekeeper (right-click → Open) may need a confirmation. Every archive also ships the netviz-cli command-line scanner and a SHA-256 checksum.

Everything from one scan

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.

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.

Real vendor identification

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.

Monitor mode

Re-scans on an interval and flags every device so you can watch the network move:

new online offline changed stable

Device details & history on click

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, open & export

Save scans as versioned NetViz JSON and reopen them later, or export the table to CSV — straight from the File menu.

Local history & diff

Completed scans land in a local SQLite database — monitor cycles with no changes are merged, so history records state changes, not noise. The History tab diffs the latest runs.

Built-in updates

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.

Four ways to read your network

The same monitored /24 across every view — a precise table, the grouped graph, the hierarchy map, and the history diff. Click any snapshot for the full-size view.

Table

The precise operational view: IP, hostname, MAC, vendor, alive status, open ports, device type, first seen, and last updated. Dead addresses are hidden by default — flip Show checked-only to see every probe.

Graph

Devices grouped by inferred category — routers, printers, Windows/SMB, SSH hosts, web appliances — with open-port badges on every node.

Hierarchy

A firewall/root node at the center with compact, clickable device circles around it. Built to stay readable on dense /24 scans.

History

Every saved run at a glance, plus a diff of the two most recent scans: which devices appeared, and which went missing.

Focused on the ports that matter on a LAN

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

Not Nmap. Not RMM. Just visibility.

  • Not an Nmap wrapper — a native Go scan engine
  • No raw packet or SYN scanning
  • No vulnerability scanning
  • No credential handling, remote shell, or remote execution

From one desktop to a small fleet

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.

Always-on probe

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.

Provision from the GUI

The desktop Probe tab installs, configures, and manages the service — URL, key, CIDR, interval — through a shared config file the running service re-reads on every cycle.

Self-hosted server

One Docker container stores every push in SQLite and serves a live dashboard: stat tiles, a full device table, and an interactive canvas network map with zoom, pan, tooltips, and a clickable legend. Try the map with /?demo.

Sign in with your IdP

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

Prefer the command line?

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

Event-first architecture

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.

ScanEngine EventBus Desktop UI CLI JSON SQLite history Monitor mode netviz-probe netviz-server + web map

Free and open source, the boring-honest way

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 mascot artwork: a penguin at a desk with the NetViz scan-map-monitor workflow

Roadmap

  1. v0.0.1Desktop scanner with table, graph, hierarchy, monitor mode, exports, history, and CLI parity.
  2. v0.1.0netviz-probe headless scanner with AnchorDesk device push, heartbeats, and native service management.
  3. v0.2.0Desktop probe management GUI, release updater, and a colorblind-validated visual pass.
  4. v0.3.0Self-hosted server: probe ingest, Docker image on GHCR, and the interactive web network map.
  5. v0.4.0IEEE OUI vendor database, per-device history, in-place updates, emoji device icons.
  6. v0.9.x — nowOIDC SSO for the server, the stability freeze, fully self-contained updates, and desktop UX fixes — the 1.0 release candidate.
  7. v1.0.0Signed and notarized builds on the frozen v0.9 feature set.