Skip to content

CNCjs

Dashboards & Home Pages

A full-featured web‑based interface for controlling CNC machines running Grbl, Marlin, Smoothieware, TinyG and related controllers.

JavaScript Latest v1.11.1 · 1mo ago Security brief →

Features

  • Supports multiple CNC firmware (Grbl, Marlin, Smoothieware, TinyG, g2core)
  • Desktop app available for Linux, macOS, and Windows
  • 6‑axis digital readout (DRO) with tool path 3D visualization
  • Responsive UI for small screens and tablets
  • Customizable workspace and widget extensions

Recent releases

View all 6 releases →
v1.11.1 Bug fix
Notable features
  • Added Changesets for automated versioning and release management
Full changelog

What's Changed

  • chore(deps): bump the npm_and_yarn group across 1 directory with 4 updates by @dependabot[bot] in https://github.com/cncjs/cncjs/pull/969
  • fix: align machine limits, pivot, and orbit center with machine profiles by @cheton in https://github.com/cncjs/cncjs/pull/979
  • chore(release): add Changesets for automated versioning and release management by @cheton in https://github.com/cncjs/cncjs/pull/981
  • chore(release): version packages by @github-actions[bot] in https://github.com/cncjs/cncjs/pull/982

New Contributors

  • @github-actions[bot] made their first contribution in https://github.com/cncjs/cncjs/pull/982

Full Changelog: https://github.com/cncjs/cncjs/compare/v1.11.0...v1.11.1

v1.11.0 New feature
Notable features
  • Autolevel widget for surface probing and Z‑axis compensation
  • Multi-arch Docker image build support for linux/arm64
Full changelog

What's Changed

  • feat(autolevel): add Autolevel widget for surface probing and Z-axis compensation by @cheton in https://github.com/cncjs/cncjs/pull/959
  • feat(docker): add multi-arch image build for linux/arm64 by @rdrgmnzs in https://github.com/cncjs/cncjs/pull/966
  • fix(autolevel): UI polish, i18n fixes, and Electron first-launch white screen by @cheton in https://github.com/cncjs/cncjs/pull/967

Full Changelog: https://github.com/cncjs/cncjs/compare/v1.10.9...v1.11.0

Autolevel

How to settup

  1. Enable the Autolevel widget.

    You will see the Autolevel widget appear in the right pane:

  2. Click Probe New Surface. This will enter the probe setup view.

  3. After the Z-axis is properly configured, you can run a test probe at the current X/Y position. Note that Clearance Z must be higher than Start Z to ensure safe operation.

  4. Configure the probe area. You can use the mouse to resize or drag the probe area in the workspace.

  5. Click the Start Probing button. A confirmation modal will appear, allowing you to review the parameters before starting the probing process.

  6. After probing starts, you can monitor the progress in the workspace You can stop the probing at any time if the machine behaves unexpectedly or if you need to abort the process.

  7. After probing is finished, you can export the probe data for later use. Click Load a G-code file to load a G-code file, apply the probe compensation data, and send it to the workspace.

  8. Once probe compensation is applied to the G-code file, a “Probe Compensation Applied” indicator will appear in the top-right corner of the workspace.

Now you're ready to start. 🚀

v1.10.9 New feature
Notable features
  • ARIA attributes added for WCAG 2.1 level AA compliance
  • Controller‑aware homing and zeroing for Grbl, Marlin, Smoothie, and TinyG
Full changelog

What's Changed

  • feat(a11y): add ARIA attributes for WCAG 2.1 level AA compliance by @ashleycox in https://github.com/cncjs/cncjs/pull/964 and @cheton in https://github.com/cncjs/cncjs/pull/965
  • feat(widgets/Axes): add controller-aware homing and zeroing for Grbl, Marlin, Smoothie, and TinyG by @mAd-DaWg in https://github.com/cncjs/cncjs/pull/963

Full Changelog: https://github.com/cncjs/cncjs/compare/v1.10.8...v1.10.9

v1.10.8 New feature
Notable features
  • Add `ADVANCED_OK` support for Marlin firmware
Full changelog

What's Changed

  • refactor(grbl-simulator): improve GRBL simulator functionality by @cheton in https://github.com/cncjs/cncjs/pull/952
  • feat: add ADVANCED_OK support for Marlin by @mAd-DaWg in https://github.com/cncjs/cncjs/pull/960

New Contributors

  • @mAd-DaWg made their first contribution in https://github.com/cncjs/cncjs/pull/960

Full Changelog: https://github.com/cncjs/cncjs/compare/v1.10.7...v1.10.8

v1.10.7 New feature
Notable features
  • Added Grbl v1.1 simulator
  • Axes widget (widgets/Axes) now uses flexbox layout instead of GridSystem
Full changelog

What's Changed

  • chore(deps): bump @babel/runtime-corejs2 from 7.20.13 to 7.26.10 by @dependabot[bot] in https://github.com/cncjs/cncjs/pull/910
  • chore(deps): bump @babel/runtime from 7.20.13 to 7.27.6 by @dependabot[bot] in https://github.com/cncjs/cncjs/pull/923
  • chore(deps): bump http-proxy-middleware from 2.0.7 to 2.0.9 by @dependabot[bot] in https://github.com/cncjs/cncjs/pull/915
  • feat: add Grbl v1.1 simulator by @cheton in https://github.com/cncjs/cncjs/pull/950
  • feat(widgets/Axes): Replace GridSystem with flexbox layout in MDI component by @cheton in https://github.com/cncjs/cncjs/pull/955

Full Changelog: https://github.com/cncjs/cncjs/compare/v1.10.6...v1.10.7

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

About

Stars
2,604
Forks
616
Languages
JavaScript Stylus G-code
Downloads/week
569 ↓16%
NPM Maintainers
1
Contributors
48

Install & Platforms

Install via
npm
Platforms
linux macos windows

Beta — feedback welcome: [email protected]