CNCjs

CNCjs is a browser-based interface for controlling CNC machines that run GRBL, Marlin, Smoothieware, or TinyG firmware.

  • Tools & Utilities
CNCjs is a browser-based interface for controlling CNC machines that run GRBL, Marlin, Smoothieware, or TinyG firmware. It sends G-code files, displays machine state, and exposes controller configuration through a web dashboard. It is useful for self-hosted CNC setups that need a lightweight, network-accessible control panel.

Platform availability

Available on 3 of 9 platforms

  • Unraid
  • TrueNAS (not listed)
  • Umbrel (not listed)
  • ZimaOS (not listed)
  • Proxmox (not listed)
  • Helm (not listed)
  • Mac
  • Windows (not listed)
  • Linux

Health score?A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). When the source code has been checked, a fifth factor, security check (20%: automated scan for committed secrets, unsafe desktop-app settings, known-vulnerable dependencies and project hygiene; any serious finding caps it at 20), is added. Factors without data are left out and the rest are rescaled.

72/100 Good

Maintained
91last commit 22 days ago
Popular
682,646 GitHub stars
Easy to install
403 install platforms, Docker image
Light to run
No data

Based on 3 of 4 factors.

Availability: platform listings confirmed today, links checked 15 days ago

GitHub stars
2,646
Open issues
141
Last commit
2026-09-21
Latest release
v1.11.5
License
MIT
Activity
declining

Checked 6 days ago - source: GitHub (cncjs/cncjs)

Resources & Compatibility

ARM (e.g. Raspberry Pi) is supported.

Checked 14 days ago - source: Docker Hub image tags and published docs

First-install notes

No first-install notes yet.

Alternatives (3)

  • Candle - GRBL controller application with G-Code visualizer written in Qt.
  • OpenBuilds CONTROL - OpenBuilds CONTROL is an application for connecting to, and controlling, your CNC, Laser, Plasma or Dragknife machine.
  • bCNC - GrblHAL (formerly GRBL) CNC command sender, autoleveler, g-code editor, digitizer, CAM and swiss army knife for all your CNC needs.

Checked 11 days ago - source: AlternativeTo

Common questions

Can more than one client connect to the same CNCjs serial port?

Yes, CNCjs allows multiple HTTP connections at the same serial port.

Will the CNCjs web UI display correctly on a phone?

It has a responsive view for small screens with a device width below 720px, and Safari on an iPhone 5S is shown as an example.

How do I enable secure sign-in for CNCjs?

Since version 1.8, multi-account management can enable secure web access and WebSocket connections. If at least one account is enabled in Settings > Account, the web interface redirects to the Sign In page.

Does the Linux Docker image run in Electron?

On Linux hosts, the Docker image uses the system Node.js to run CNCjs instead of Electron.

Answers sourced from cnc.js.org, cnc.js.org, github.com, www.reddit.com

Community

Collected 14 days ago - public community threads