Self-hosted service
bijomaru78/eccm avatar
bijomaru78/eccm

ECCM: a browser tool that maps how your Ethernet is actually wired

Ethernet Cable Connection Manager

570 stars37 forksHTMLGPL-3.0

At a glance

What is it?
The Ethernet Cable Connection Manager is a browser tool for drawing switches, patch panels, wall ports and routers and recording which port goes to which, and its whole design is offline first, built as pure HTML and JavaScript with no server required and the layout kept in JSON you can export and import.
Who is it for?
ECCM is the right tool for a network administrator, a systems integrator or a homelab operator who needs to draw a rack, label the ports, record every patch and print a sheet to stick on the wall, and it is a good fit for anyone who wants their cabling diagram to live in a file they control rather than in a paid tool. It is the wrong tool for live network discovery, for teams that need a shared multi user database, and for a site with thousands of ports.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 163 days ago.
What is it written in?
Mainly HTML, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A diagramming tool for the physical layer

The Ethernet Cable Connection Manager is a lightweight, browser based tool for mapping Ethernet connections. You create switches, patch panels, wall ports and routers, assign ports, connect them, and visualise how your network is wired.

That last phrase is the whole scope. This is a documentation and diagramming tool for the cabling layer, and the topics attached to the repository say the same thing, with ethernet, homelab, network, networking, offline-first-app and sysadmin. There is no monitoring, no discovery and no scanning. The thing it does is let you record what you already know and present it clearly.

The audience falls out of that. A network administrator who has to hand over a rack, a systems integrator who has to document a build for a customer, and a homelab owner who has accumulated a wall of patch panels and no idea what goes where. All three need the same artefact, which is a picture of the physical topology with the port assignments on it.

The primary language recorded for the repository is HTML, which for a project like this is the whole architecture. The top level of the repository is a short list, and it tells you the shape of the thing.

text
You can open the app instantly here (hosted via GitHub Pages):  
Or download the zip from the releases page and run it locally.

One HTML file, a manual, a roadmap, a funding configuration, a licence, a screenshot and an animation of the editor in both themes. The screenshots in the repository show an editor with dark and light modes, a print sheet listing devices and their ports, and a second print sheet listing connections in a table, and those three pictures are the entire feature set in visual form.

Offline by design, with the layout in a JSON file

The first feature bullet says it works offline, with pure HTML and JavaScript and no server required. That is the architectural decision everything else follows from, and it is a good one for this particular problem.

A cabling diagram is sensitive in a small way. It shows where the security cameras feed from, which wall ports carry which circuit, and which switch ports are used for management. A tool that works by opening a file on your own machine keeps that inside your machine, and it keeps working when the network it is describing is the one that just broke.

The second feature bullet is that layouts can be saved, exported and imported as JSON. That is the entire persistence model, and it has a consequence that is worth thinking about. There is no database and no account, so the layout file is the state, and the JSON export is both the backup and the way two people exchange a diagram. It also means the format is something you can diff, put in version control, or generate from an inventory system if you are the kind of shop that already has one.

The third bullet is printing sheets with device colours and linked ports, and the fourth is managing multiple profiles, for example different customer networks. The profile feature is what turns this from a hobby into a tool for service providers, since one physical install can have several logically separate networks and one diagram can hold all of them.

The last two features are about labelling: colour coding devices, customising port aliases, and dual link ports for patch panels and wall sockets, where one logical connection lands on two physical ports.

The print sheet is the part that ends up in the comms room

The three screenshots in the readme are worth reading in order, because they describe three different uses of the same data.

The first is the editor, with the dark and light mode animation, which is where you build the topology: add devices, add ports, draw the connections. The second is the print sheet showing devices and ports, and the third is the print sheet showing the connections table.

The distinction between those two print sheets is the design decision that makes the tool practical. A rack elevation drawing with the ports labelled tells you what is in the rack, and a connections table tells you what goes where. An administrator standing in front of a rack needs the second, and a person documenting a build for someone else needs both, because one without the other is half an answer.

Device colours carry through to the print output, which is what makes a wall sheet readable from a distance: you can see at a glance which patch leads are the same colour as the device they belong to, rather than reading port numbers. The colour coding and the customisable port aliases from the feature list exist to make that printed sheet usable, and they are the reason the print output is a designed artefact rather than a dump of the model.

For a tool whose whole purpose is to produce something a person will look at, that is the right set of priorities, and it explains why the project is happy to be offline and single file.

Using it: the hosted demo, the release archive and the manual

There is no install step, and the readme is explicit about the two ways in.

The first is the hosted demo, which is opened in a browser and is served through GitHub Pages. The second is to take a copy locally.

text
Or download the zip from the releases page and run it locally.

The releases page carries the latest version, and the archive is a zip, which for a single file application is the entire distribution story. There is no container, no package to install and no configuration file to edit,.

The documentation is split across two files, and the split tells you what the project considers done and what it does not. MANUAL.md is the user manual, and ROADMAP.md is the roadmap and to-do list. For a project at version 1.0.6 that is an unusually honest arrangement, because the road map tells a user which of the things they might want are still planned rather than shipped.

The version history is steady and quick. Version 1.0.4 was published on 2025-11-08, 1.0.5 on 2026-02-17 and 1.0.6 on 2026-03-25, with the last push to the repository on 2026-05-13. The project also asks for support, through a funding configuration file and a Buy Me a Coffee link, and it has been written about by a few small channels, which is the profile of a utility that homelab and sysadmin audiences pass around rather than a project with a large user base.

Where ECCM is the wrong tool

Four limits, and they follow from the design rather than from missing features.

The first is that it records what you tell it. There is no discovery, no scanning and no live view of a switch, so the diagram is only as good as the data someone entered. For a documentation tool that is a feature, and for a monitoring tool it would be a fatal gap, and ECCM is firmly the first kind.

The second is the collaboration model. With no server, no accounts and no database, two people editing the same network are two people editing two files, and the merge has to happen outside the tool through the JSON export. That is fine for a small installation and painful for a team of technicians who all need the current picture.

The third is scale. A single HTML file with one document is a document that grows with the number of devices and ports, and the readme says nothing about virtualised views, filtering or splitting a large site into multiple diagrams. A site with thousands of ports is not the case this tool was built for, and the profile feature helps with logical separation rather than with physical size.

The fourth is that it draws a picture, it does not check one. Nothing in the documentation suggests the tool validates a layout, so a connection recorded against the wrong port is recorded, printed and trusted. For a documentation aid that is acceptable, provided the person doing the work knows to check.

One more limitation belongs with the licence, and it is real for an organisation that has been burned by it before. The GPL-3.0 means that if you distribute the application or a modified version of it, you have to provide the source under the same licence, which is why the readme spells the obligation out rather than leaving it to the licence file.

Licence, funding and the shape of the project

The licence is the GNU GPL-3.0, and the readme states the practical terms directly rather than leaving them implicit.

text
You are free to use, modify, and redistribute it, but if you distribute changes, you must also provide the source code under the same license.

That is the standard copyleft bargain, and for this project it costs a company very little: you can use it internally without publishing anything, and you can modify it to fit your own labelling scheme. What you cannot do is ship a modified version to a customer without the source. This is not legal advice, and the readme's own wording is a better guide than a summary.

The funding arrangement is a FUNDING.yml file at the root, a Buy Me a Coffee link, and a sentence asking for support if the tool saves you time. There is no company behind it and no paid tier, which means there is also no support commitment, and a one person project that is a year into its 1.x line is a different risk profile from a product with a support contract.

For a user, the practical questions are therefore short. Does the JSON layout file fit into how you already keep documentation, and is the manual detailed enough for your team to use without asking you? Does the road map promise the features you are missing? And can the person who maintains it still maintain it in two years?

The last push was on 2026-05-13 and the repository is not archived, so the work is current, and the release cadence of roughly every two months through the 1.0.x line suggests a maintainer with time to spare rather than one racing to catch up.

Editorial conclusion

ECCM is the right tool for a network administrator, a systems integrator or a homelab operator who needs to draw a rack, label the ports, record every patch and print a sheet to stick on the wall, and it is a good fit for anyone who wants their cabling diagram to live in a file they control rather than in a paid tool. It is the wrong tool for live network discovery, for teams that need a shared multi user database, and for a site with thousands of ports. Before adopting, read MANUAL.md for the editing model, check ROADMAP.md to see whether the missing features are the ones you need, and confirm that the JSON export is good enough as your backup format.

Frequently asked questions

What is ECCM?

It is a lightweight, browser based tool for mapping Ethernet connections, where you create switches, patch panels, wall ports and routers, assign ports and connect them to visualise how the network is wired. It is a pure HTML and JavaScript application that works offline with no server required, and it is licensed under GPL-3.0.

How do I run the Ethernet Cable Connection Manager?

You can open the hosted demo served through GitHub Pages, or download the zip from the releases page and run it locally, since it is pure HTML and JavaScript with no server component. The user manual is in MANUAL.md and the planned features are in ROADMAP.md.

Can I print a cabling diagram with ECCM?

Yes. The print output includes sheets showing devices with their ports, using the device colours, and a separate connections table. There is also an editor with dark and light modes, and a print sheet for the connections in table form.

How are ECCM layouts stored?

Layouts can be saved, exported and imported as JSON, which is the only persistence the application has. Multiple profiles are supported, for example different customer networks, and the tool also supports colour coded devices, customisable port aliases and dual link ports for patch panels and wall sockets.

What are the licence obligations for ECCM?

The project is licensed under GPL-3.0, and the readme states that you are free to use, modify and redistribute it, but if you distribute changes you must also provide the source code under the same licence. Use inside your own organisation carries no obligation to publish anything.

Official sources

  1. bijomaru78/eccm on GitHub
  2. License: GPL-3.0
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/bijomaru78-eccm.svg)](https://hysenlabs.com/projects/bijomaru78-eccm)

Was this useful?