Single-file Modbus Web UI with profiles, name tables, and shortcuts
npm install modbus-webuiSingle-file Modbus workbench — profiles, name tables, shortcuts.


A browser-based UI for Modbus devices. Runs fully client-side via the Web Serial API and modbus-webserial. No install required to use the app; optional CLI for quick start. \
Built with Svelte and shadcn.
---
``bashserve the packaged HTML immediately
npx modbus-webui start
You can also download the single
modbus-webui.html file and open it directly in a supported browser.---
Features
* Read / write coils and registers
* Profiles: per-device settings + saved write shortcuts
* Name tables: global sets covering coils, discrete inputs, holding and input registers
* Shortcuts: one-click saved writes
* Local persistence: everything stored in your browser
---
Basic usage
1. Click Connect and choose your serial port.
2. Set port parameters (baud, parity, etc.) and click Open.
3. Use Read / Write panels to operate coils and registers.
4. Save frequent actions as Shortcuts and run them from the Shortcuts panel.
5. Use Name Tables to label addresses; Profiles keep device-specific setup.
---
Concepts
$3
* Hold your selected name-table set, connection settings, and write shortcuts.
* Changes apply immediately to the active profile. Switching profiles does not disconnect the port.
$3
* Stored globally; any profile can select a set to use.
* Cover all four areas: coils, discrete inputs, holding registers, input registers.
* Names are linked to addresses (enter as decimal or hex). Edit via the Name Tables modal or copy/paste a full set as JSON.
$3
* All data is kept as a single library and saved to
localStorage (auto or manual save).
* The stored data is versioned to allow future migrations.---
Browser support
* Requires Chromium-based desktop browsers with Web Serial enabled.
* You grant port access per session; after reload you may need to select the port again.
* The app will show a notice if Web Serial isn’t available.
---
Development
`bash
install
npm idev
npm run devbuild (emits dist/modbus-webui.html)
npm run build
``---