Based on verified manufacturer specs and CNCRouterInfo's database of 85+ scored machines.

CNC sender software connected to router
Software

gSender vs UGS vs CNCjs: Best Free GRBL Sender for Hobby CNC

A sender is the bridge between your CAM software and your machine:

Last updated: October 2026 · 5 min read

What a G-Code Sender Does (And Why It Matters)

A sender is the bridge between your CAM software and your machine:

  1. You load a G-code file (generated by your CAM software)
  2. The sender connects to a compatible controller, commonly by USB; some setups support Ethernet
  3. You press start
  4. The sender streams G-code commands to the machine line by line
  5. The sender displays feedback: position, status, errors

You also use the sender for:

  • Jogging the spindle to set up
  • Setting work zero; homing is a separate operation
  • Tool changes
  • Pause and resume
  • Software stop or reset; use the machine hardware for an emergency stop

Picking the right sender makes your life dramatically easier.

gSender: A Beginner-Friendly Option

gSender is Sienci Labs' free, open-source sender for grbl and grblHAL machines. Its interface and setup tools make it worth trying.

Pros:

  • Excellent UI—modern, intuitive, not cluttered
  • Built-in touch-plate probing wizards for setting work zero
  • Tool change support—pauses, prompts, resumes cleanly
  • Surfacing wizard for leveling spoilboards
  • Spindle control built-in
  • Actively developed with regular updates
  • Works with standard GRBL and grblHAL
  • Excellent documentation

Cons:

  • Desktop app; large toolpaths can need more resources, with a Lightweight mode available
  • Install on the host computer; a second device can connect through a browser

Best for: New hobbyists, anyone who wants the best user experience without thinking about it

Cost: Free

UGS (Universal Gcode Sender): The Classic

UGS is the OG sender—it's been around forever and is rock-solid reliable.

Pros:

  • Established project; test the release and connection on your machine
  • Lightweight, runs on older computers
  • Cross-platform (Windows, Mac, Linux)
  • Long-running open-source project with public documentation
  • Good for manual control and tinkering
  • Platform includes a visualizer, editor, designer and configurable modules

Cons:

  • UI feels dated (functional but not modern)
  • Classic and Platform differ; check Platform modules before comparing features
  • Compare the current Platform interface and modules with your workflow
  • Check the current release history when choosing a version

Best for: Experienced CNC operators, people who prefer simplicity, anyone on older hardware

Cost: Free

CNCjs: Web-Based Flexibility

CNCjs provides a browser interface backed by a host connected to the CNC controller; a desktop package is also available.

Pros:

  • Clean, modern UI
  • Plugin system for extensibility
  • Works on any device (phone, tablet, computer) once set up
  • Device-agnostic—control from anywhere on your network
  • Supports several controller firmware protocols; post-processing stays in CAM
  • Lightweight on system resources

Cons:

  • Check the release history and supported host environment before installing
  • Plugin quality varies wildly
  • Setup is more complex than gSender
  • Check documentation and support for your controller and chosen extensions
  • Browser-based means you're managing a web server (not technically difficult but adds complexity)

Best for: Advanced users comfortable with network setup, people who want multi-device control

Cost: Free

Other Options Worth Mentioning

bCNC: Python-based, feature-rich, includes CAM capabilities. Good for advanced users, steep learning curve.

OpenBuilds Control: Specifically designed for GRBL and grblHAL, excellent UI, actively developed. Highly recommended if you're on an OpenBuilds system or just want a solid alternative.

The Comparison Table

FeaturegSenderUGSCNCjsbCNCOpenBuilds
UI QualityExcellentFair (dated)GoodFairExcellent
Learning CurveEasyEasyModerateSteepEasy
Probing SupportExcellentProbing modules in PlatformGoodExcellentGood
Tool ChangesExcellentManualFairExcellentGood
Cross-PlatformYesYesYesYesWindows/Mac/Linux
Active DevYesSee current releasesModerateYesYes
Setup ComplexitySimpleSimpleModerateComplexSimple
Plugins/ExtensionsLimitedLimitedExtensiveSomeSome
Hardware RequirementsModestCheck current requirementsLowLowModest
Best ForBeginnersMinimalistsAdvancedTechnical usersOpenBuilds users

The Real Recommendation

For new hobbyists: gSender. No hesitation. The UI is genuinely better, the probing wizards save time, and it's actively maintained. Start here.

If gSender does not fit your workflow, try UGS on a supported controller and verify a simple job first.

For advanced users: OpenBuilds Control or CNCjs. If you have specific needs (multi-machine control, network access, plugin extensibility), these make sense.

Setup Basics for All Senders

Regardless of which sender you choose:

  1. Install the sender software
  2. Connect your machine via USB
  3. Open the sender
  4. Select the COM port your machine uses
  5. Set baud rate to 115200 (standard for GRBL)
  6. Click "Connect"
  7. You should see machine status (Idle, position, etc.)

If you don't see status, check:

  • Is the machine powered on?
  • Is the USB cable working? (Try a different port)
  • Is the baud rate correct?
  • Is the GRBL firmware actually on the machine?

Probing and Auto-Leveling

gSender's probing wizards are actually useful:

  • Z-probe: A compatible touch plate and configured plate thickness let the sender set Z-zero on the surface you reference.
  • XY probing: Jog to the prescribed start position, then probe to set work zero
  • Surfacing: Automatically generates a toolpath to level your spoilboard

Compare probing routines using your own controller and touch plate.

What We'd Buy

Sender software is free, so this is easy:

  1. gSender: Download and use it. It's the best experience.
  2. Keep UGS as an alternative if it supports your controller and operating system.

That's it. No cost.