Skip to main content

Interactive floor plan visualization for NetBox sites

Project description

NetBox Map

Python NetBox License PyPI PyPI Downloads

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

Other plugins: 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

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

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/netbox-map/floorplans/ Floor plan CRUD
/api/plugins/netbox-map/floorplan-tiles/ Tile CRUD
/api/plugins/netbox-map/location-coordinates/ Location coordinates
/api/plugins/netbox-map/map-markers/ Map marker CRUD

All endpoints support filtering, pagination, and brief mode.

Requirements

  • NetBox 4.5.0+
  • Python 3.12+

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netbox_map-0.7.2.tar.gz (279.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netbox_map-0.7.2-py3-none-any.whl (303.8 kB view details)

Uploaded Python 3

File details

Details for the file netbox_map-0.7.2.tar.gz.

File metadata

  • Download URL: netbox_map-0.7.2.tar.gz
  • Upload date:
  • Size: 279.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for netbox_map-0.7.2.tar.gz
Algorithm Hash digest
SHA256 d1395beb504a0f21a3e2195a44921c28a978162a70eca51a548e06ce6df4bce5
MD5 5dd2e898857bcb74bb25232d0562a6ae
BLAKE2b-256 a21a71ab4fa8d41b8e51177fc41aacadafac5f215391053e9eddfa6f3ec64ac9

See more details on using hashes here.

File details

Details for the file netbox_map-0.7.2-py3-none-any.whl.

File metadata

  • Download URL: netbox_map-0.7.2-py3-none-any.whl
  • Upload date:
  • Size: 303.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for netbox_map-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 af0be826e78a9418f3445d0af550ed58ea7ad506348789bb46605febda546fd2
MD5 8f51a3ed393e5bb8e7f02eb649faa642
BLAKE2b-256 2d05df4e08adfb78ce7751bc362308405a9bc029b4bafb945476009410818568

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page