NetBox Floorplan Plugin
This NetBox plugin provides floorplan mapping for sites and locations. Racks and unracked devices are drawn on a canvas, positioned to match the physical room, and clicked through to the objects they represent.
- Graphical placement of racks and unracked devices on a floorplan
- Metadata such as labels, areas, walls, and colouring
- A floorplan is assigned to a site or a location, with click-through to racks and devices
- Keyboard controls
- Export to SVG
- A background image per floorplan, uploaded or linked
See the compatibility matrix for supported NetBox versions, and the changelog for release notes.
Demo
Advanced rack rendering, showing role colouring, status, and tenant:
Installation
Brief installation instructions are provided below. For a complete installation guide, please refer to the included documentation.
- Install the plugin from PyPI:
$ pip install netbox-floorplan-plugin
- Add
netbox_floorplantoPLUGINSinconfiguration.py:
PLUGINS = [
# ...
'netbox_floorplan',
]
- Run the migrations and collect static files (paths may vary with your runtime environment):
$ cd /opt/netbox
$ sudo ./venv/bin/python3 netbox/manage.py migrate
$ sudo ./venv/bin/python3 netbox/manage.py collectstatic
- Add
netbox-floorplan-plugintolocal_requirements.txtso the plugin survives future upgrades, then restart NetBox:
$ sudo systemctl restart netbox netbox-rq
Documentation
- Introduction — what the plugin does and how a floorplan is put together
- Installation — full installation guide
- Drawing a Floorplan — the canvas editor, keyboard controls, and export
- Branching — using floorplans with netbox-branching
- Data Model — Floorplan and Floorplan Image
- REST API
- Change Log
Contributing
Issues and pull requests are welcomed. See CONTRIBUTING.md for the development environment and test workflow.
This repository follows the same two-branch model as NetBox itself:
feature— active development of future releases. Base your pull requests on this branch.main— the released code. Releases are cut from here;featureis merged intomainto release.
GitHub defaults the base branch to main, so remember to switch the base to feature when opening a pull request.
Mentions
Originally forked from tbotnz/netbox_floorplan.
Special thanks to the Ziply Fiber network automation team for helping to conceive this during the NANOG hackathon.
Metadata
Release files for netbox-floorplan-plugin 0.10.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| netbox_floorplan_plugin-0.10.0.tar.gz | 178.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| netbox_floorplan_plugin-0.10.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 373.3 kB
Release files / netbox_floorplan_plugin-0.10.0.tar.gz
| Download URL | netbox_floorplan_plugin-0.10.0.tar.gz |
|---|---|
| Size | 178.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2d811196b48ef4d6ffc2218b32f9c460987ad04a51e3070ed5f095158d1fec27
|
|
BLAKE2b-256 checksum How to use checksums |
fb6e546b082c6a09ecf8a7bd46bbf8b423445182e27f3586f43539f11889939e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.
Transparency logRelease files / netbox_floorplan_plugin-0.10.0-py3-none-any.whl
| Download URL | netbox_floorplan_plugin-0.10.0-py3-none-any.whl |
|---|---|
| Size | 194.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
23ccac3ac1c071e5b1214044e537f87c5d2a7ecf2e72beb46e379c1e00803357
|
|
BLAKE2b-256 checksum How to use checksums |
57aa029f364a519e45bb4011e4230daa9d82f4636c77ed93bf42ea734a36f414
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.
Transparency log