LightBurn 0.9.21 - Image adjustment window, image compositing, measure tool, new file format, memory savings, and much more

LightBurn 0.9.21 - Image adjustment window, image compositing, measure tool, new file format, memory savings, and much more

This one is big, and might be the last version on our way to 1.0.

We have a video walkthrough of the changes here:

Smaller, faster, better...

First, LightBurn has a new project file format - LBRN2 stores the same content, but in a more efficient way, making files about 4x smaller on disk, and about 6x faster to load.  This will vary depending on the file content, but unless you have to share files with older versions of LightBurn we recommend using LBRN2.

We've also added a "sharing" system for vector and image data.  In older versions of LightBurn, if your file contained 10 copies of the same thing, it would store those copies in memory as well as on disk.  Now, the copies will just refer to the original until you edit them, saving additional memory and disk space.

Measure tool

We've added a new measuring tool - point the mouse at anything to see length, angle, perimeter, area, and more.  Click and drag to take linear measurements.

Adjust Image tool

LightBurn has had the ability to adjust gamma, contrast, brightness, edge enhancement, and more for quite a while, but it seems most people don't realize these options exist, so we've made a new tool specifically for adjusting image controls.  Right click and choose 'Adjust Image', or access it with Alt+I or from the Tools menu.

All the controls are live, and the dual-pane window shows the original and adjusted image side by side, making it easier to see the results.

Multi-Image scanning and compositing

LightBurn will now let you specify the same options for grouping images as you can with filled shapes - Fill groups, fill all at once, or fill individually.  When filling multiple shapes together, the images are composited as displayed in the edit window, and transparency is correctly preserved.

Temporary connections for DSP controllers

Ruida, Trocen, and TopWisdom users should now have fewer issues with connectivity. LightBurn now connects to DSP controllers only when active.  If you run multiple copies of LightBurn and have had issues sending to the laser from your 2nd copy, this fixes it.


These are the big ones.  There are many more additions and fixes, and the complete list is below:


  • Enable saving in lbrn2 format - 1/4 the size, 6x the speed (it varies)
  • Add "Edit Text Shapes" dialog, supports pan/zoom while up
  • Added measure tool
  • Added ability to print designs from LightBurn (need to add option to send processed images)
  • Added "Adjust Image" (right click or Tools option)
  • Images can now be scanned together (only with horizontal scanning angles)
  • Prim/Vert sharing (in memory and on disk)
  • Add image sharing (in memory and on disk)
  • Added MacOS-Sur version for Big Sur users
  • Added Arabic, Greek, Danish, Catalan, Traditional Chinese, Korean, and updated all translations
  • Added a 'Mirror Output' option in the Rotary Setup window
  • Fixed translation of Art Library
  • Added START and STATUS commands to UDP command socket
  • Added shortcuts for Print & Cut
  • Added 'n' (Number of passes) to Variable Text for Cut Setting
  • Added support for Z moves in stored positions manager
  • Made inner/outer sorting ~40% faster
  • Bugfix: Locale / Language change on startup could crash 'SetupOriginMenu' function
  • Bugfix: Save As in Material Library didn't always work
  • Added an Air column to the cuts/layers list
  • Stop / Start / Pause buttons will not trigger if the display is off
  • Added a setting to disable the 'Ignore start button when monitor off' behavior
  • Bugfix: Variable Text now handled correctly when using 'Start here' in preview
  • Improve font dropdown performance with large number of installed system fonts
  • Fixed loading of text to a different device origin so it stays in original orientation
  • Added 'Save laser file' option to the File menu
  • Reworked shape association for multi-level associations (allows mask to use text on path,for example)
  • Copy Along Path now respects user Start Point for shape
  • Bugfix: restore numeric spin arrows for some locales (mostly a Linux issue)
  • Copy Along Path now updates count or distance when the other property is changed
  • Bugfix: Offset tool could produce strange output if a shape was partially inside an open curve
  • Added "non scaling" mode for Print & Cut - just does position and orientation
  • Offset dialog now allows zooming / panning while in use
  • Improved speed of dithering functions by 10% to 20% (better interactivity in Adjust Image window)
  • "SHX path missing" error now deferred until after splash screen closes (caused issues on MacOS)
  • Bugfix: bent text in an Art Library would bend inverted if imported into a workspace with a different device origin
  • Bugfix: stored coordinates editor was showing Y value for the Z as well (stored properly, just shown wrong)
  • Bugfix: fixed a crash when looking for snap intersections on very dense files when zoomed way back
  • Gave 'Fire' button a red halo when enabled

Import / Export:

  • Remember last used export extension and make default for next time
  • Added support for SVG <symbol> tag
  • PLT import now creates a tiny circle when the file contains zero-length lines (these are point shapes)
  • Added bitmap support to SVG exporter
  • Bugfix: Exported SVGs will now fill anything exported with Offset Fill
  • Bugfix: Proper handling of NURBS curve weights in DXF splines
  • DXF exporter now exports circles as CIRCLE objects instead of converting to lines
  • SVG import now supports images with clip paths
  • Bugfix: fixed a crash when parsing an SVG path that does not start with a valid move command


  • Added speed and power overrides for GRBL (in the Move window, when a job is running)
  • Bugfix: Connection issue with Arduino-based GRBL boards
  • Allow forcing constant power mode in the regular Grbl profile
  • GRBL - keep checking for pause even after all commands have been send, until all are finished processing
  • Bugfix: bounds clamping on new jog was incorrect for Y axis
  • Added file_line_count to SnapMaker header
  • Added 'Focus Height" and "Material Height" to SnapMaker interface


  • DSP controllers now use temporary connections to the laser (connections no longer held open)
  • Added 'Enable Laser 2 controls' setting for DSPs, so you can enable / disable dual tube controls in the UI
  • Bugfix: Fill+Line mode on Trocen controllers was missing a command
  • Can now select a specific device if more than one Trocen laser is connected via USB
  • Added 'Default' buttons for Ruida power & speed settings, to use the values stored in the panel
Back to blog