OpenSource-Hub
C

cncjs

SHA-256
2.6k stars·Developer Tools·SHA-256 checksum verified

CNCjs is a full-featured web-based interface for CNC controllers. It supports Grbl, Marlin, Smoothieware, and TinyG. Key features include 6-axis DRO, 3D tool path visualization, multi-client communication, responsive UI, custom widgets, and keyboard shortcuts. It runs on Node.js and can be accessed from any modern browser, making it a versatile cross-platform solution.

Smart Download

Download Download Version

v1.11.1 · 100.4 MB

Web-based CNC controller interface that runs on any browser, supports multiple firmware.

Core Features

  • Supports Grbl, Marlin, Smoothieware, TinyG firmware
  • 6-axis DRO with real-time 3D tool path visualization
  • Multi-client simultaneous communication and responsive mobile layout
  • Customizable workspace, MDI buttons, and custom widgets
  • Keyboard shortcuts and Contour ShuttleXpress support

What It Can't Do

  • Avoid installing as root; if necessary use '--unsafe-perm' flag to avoid serialport build issues. 2. Make sure serial port baud rate matches your controller. 3. 3D visualization may be slow on low-end devices. 4. Not all controllers support all features (e.g., TinyG firmware version matters).

Use Cases

  • Control a CNC machine from a web browser on any device in the local network
  • Replace a basic serial terminal with a rich GUI including 3D preview and advanced features
  • Build a portable pendant with Bluetooth gamepad or wireless numpad

Detailed Introduction

CNCjs is a powerful, web-based control panel for CNC machines. It supports multiple popular controller firmwares like Grbl, Marlin, Smoothieware, and TinyG. Features include a 6-axis digital readout, 3D tool path visualization, simultaneous multi-client communication, responsive design for mobile, customizable workspace, custom widgets, keyboard shortcuts, and Contour ShuttleXpress support. It runs on Linux, macOS, and Windows via Node.js, and can be accessed from any modern browser without additional software. Ideal for hobbyists and professionals who want a modern, cross-platform CNC interface.

Tags

CNCGrblMarlinSmoothiewareTinyGweb-interface3d-visualizationmachine-control

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Install the appropriate package for your distro (dpkg / rpm / AppImage)

3

Step 1: Install Node.js 14 or later on your computer or Raspberry Pi

4

Step 2: Run 'npm install -g cncjs' in terminal

5

Step 3: Execute 'cncjs' and open http://your-host:8000 in a browser

Install Guide
  1. Step 1: Install Node.js 14 or later on your computer or Raspberry Pi
  2. Step 2: Run 'npm install -g cncjs' in terminal
  3. Step 3: Execute 'cncjs' and open http://your-host:8000 in a browser
File Integrity

SHA-256 checksum verified

Checksum extracted from GitHub official Release page

SHA256 Checksum

6dac4e2357ab407ef40908ce2289bf98fc048f618b3db51ea336626c6c5cc9e6

This checksum is extracted from the GitHub Release page. Verify file integrity after download.

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

Run 'npm uninstall -g cncjs'. To remove user config, delete ~/.cncrc and ~/.cncjs directories (backup custom settings first).

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseMIT
Last Updated2026-05-13 15:39:12
GitHub RepositoryOfficial Website

Similar Projects