Skip to main content

NetBox Map

Python NetBox License PyPI PyPI Downloads

A NetBox plugin for interactive floor plan visualization, site maps, rack utilization, and cable tracing.

Links: Documentation | NetBox Ping | Website | Demo

netbox-map-banner

Features

Floor Plans

  • Canvas-based editor with drag-and-drop tile placement, pan/zoom, and configurable grids
  • 12 tile types -- rack, aisle, wall, column, door, cooling, power, empty, reserved, access point, camera, printer
  • Tile orientation (0/90/180/270°) -- text rotates to match, so narrow vertical tiles stay readable
  • Link tiles to NetBox objects (racks, devices, power panels, power feeds, ports)
  • Background image upload for blueprints or photos
  • PDF export with all visible tiles, labels, and FOV cones

Rack Visualization

  • Utilization heatmap -- color gradient from green (0%) to red (90%+) directly on tiles
  • Expand racks in the sidebar to see all devices sorted by U-position
  • Full rack elevation SVG (front/rear) in the detail panel
  • Search across device names and IPs inside racks

Cable Tracing

  • Full cable trace for devices, rear ports, and front ports
  • Unified traces through patch panels (Server:eth0 → Cable → FrontPort → RearPort → Cable → Switch:Gig1/0/3)
  • "Show on map" buttons to zoom to devices that exist on the floor plan
  • Rack device traces -- expand a rack, click the cable icon on any device

Camera FOV

  • Configurable direction (0-360°), angle (10-360°), and distance (1-50 cells)
  • Live preview of semi-transparent FOV cones on the canvas
  • Toggle all FOV cones on/off

Global Site Map

  • Leaflet.js geographic map with OpenStreetMap tiles
  • Sites, locations, floor plan tiles, and standalone markers on one map
  • Edit mode -- place sites, locations, and markers by clicking the map
  • Drag to reposition, auto-saves coordinates
  • GPS sync -- automatically writes lat/lng to device records when placed on the map
  • Early fiber/cable path support (experimental -- expect breaking changes in future releases)

Settings (Web UI)

  • Configure detail panel fields per object type from the browser
  • Toggle MAC address display, custom fields, GPS sync
  • No file editing or restarts needed

Network Topology

  • Interactive topology view with stencil device cards and interface ports
  • Hierarchical layout, orthogonal cable routing with obstacle avoidance
  • Saved views with position persistence and filters
  • PDF export, cable coloring by type or speed, pass-through collapse

Application Mapping Beta

  • Model applications, deployments to devices/VMs, and inter-app dependencies
  • Application topology view with dependency edges and failure simulation
  • Mixed mode: devices + apps + deployed-on connections on one canvas
  • Templates for bulk application deployment
  • Device/VM detail page integration (Applications tab + panel)

Integration

  • Site detail page panel with floor plan links
  • Device detail page "Map Locations" tab
  • Global search indexing for floor plans, tiles, and markers
  • Change logging on all models
  • REST API with full CRUD, filtering, and search
  • Dark mode support

Screenshots

BAsic_Device_showcase

CAM-FOV_showcasee

MAP_showcase

Rack_showcase

image Screenshot from 2026-03-29 18-10-27 Screenshot from 2026-03-29 15-14-36

Installation

source /opt/netbox/venv/bin/activate
pip install netbox-map

Or from source:

source /opt/netbox/venv/bin/activate
pip install git+https://github.com/DenDanskeMine/netbox-map.git

Add to configuration.py:

PLUGINS = [
    'netbox_map',
]

Apply migrations and restart:

cd /opt/netbox/netbox
python3 manage.py migrate
python3 manage.py collectstatic --no-input
sudo systemctl restart netbox

GPS Sync

When enabled, placing a device on a map automatically writes lat/lng to the device record. Clearing the tile/marker clears the GPS if no other map references remain.

Maps URL Deep-Linking

Point NetBox's built-in Map button to this plugin instead of Google Maps:

  1. Go to Admin > Configuration > Miscellaneous
  2. Set Maps URL to: https://your-netbox-url/plugins/map/sitemap/?q=
  3. Save

Now clicking the Map button on any Site or Device opens the plugin's site map centered on that location.

REST API

Endpoint Description
/api/plugins/map/floorplans/ Floor plan CRUD
/api/plugins/map/floorplan-tiles/ Tile CRUD
/api/plugins/map/tile-port-assignments/ Tile port assignments
/api/plugins/map/location-coordinates/ Location GPS coordinates
/api/plugins/map/map-markers/ Map marker CRUD
/api/plugins/map/cable-paths/ Fiber/cable paths
/api/plugins/map/custom-marker-types/ Custom marker types
/api/plugins/map/map-settings/ Plugin settings (singleton)
/api/plugins/map/topology-saved-views/ Topology saved views
/api/plugins/map/applications/ Application CRUD
/api/plugins/map/application-groups/ Application groups
/api/plugins/map/application-templates/ Application templates
/api/plugins/map/application-deployments/ App-to-host deployments
/api/plugins/map/application-dependencies/ App dependency edges

All endpoints support filtering, pagination, and brief mode.

Compatibility

netbox-map NetBox Python
0.12.x 4.5+ · 4.6+ 3.12+
0.11.x 4.5+ 3.12+
0.10.x 4.5+ 3.12+
0.9.x 4.5+ 3.12+
0.8.x 4.5+ 3.12+
≤ 0.7.x 4.5+ 3.12+

Dependencies

  • No additional Python packages required (only NetBox itself)

Development

git clone https://github.com/DenDanskeMine/netbox-map.git
cd netbox-map
pip install -e .

License

Apache License 2.0 -- see LICENSE.

Support

Open an issue on GitHub.

Metadata

Release files for netbox-map 0.12.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for netbox-map 0.12.0
File Size Uploaded
netbox_map-0.12.0.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for netbox-map 0.12.0
File Interpreter ABI Platform
netbox_map-0.12.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.2 MB

Release files / netbox_map-0.12.0.tar.gz

Download URL netbox_map-0.12.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
bc3f5d394f24c362d99ee6775202d4b3b50e88de607335ef4dfffe7121180082
BLAKE2b-256 checksum
How to use checksums
dfe89390d3ee8509821631aa665157d96786e1623a34e99900fbc2c220177176
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / netbox_map-0.12.0-py3-none-any.whl

Download URL netbox_map-0.12.0-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
3521c78cc9df89a12f1f5d10755c78d566e5096cb4e9547f93510bfe0667b7fa
BLAKE2b-256 checksum
How to use checksums
ff730b02fa9ed4744aa341ae4da075bd85d2ae21ca41e40b240388e21a850e0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

0.12.0 This release

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page