← Guides

Dithering Algorithms for Laser Engraving: A Visual Comparison

Published: April 7, 2026

Contents

  1. What is dithering and why it matters
  2. How error-diffusion dithering works
  3. The 7 algorithms compared
  4. Which algorithm for which material?
  5. Settings that affect dithering results
  6. How to test on your machine

What Is Dithering and Why It Matters for Laser Engraving

A diode laser is fundamentally a binary tool. At each point on the material, it is either firing or not. Unlike a printer that can lay down varying amounts of ink, or a CNC that can cut to different depths, a laser diode burns a dot or leaves the surface untouched. There is no true grayscale.

This creates an obvious problem: how do you engrave a photograph — an image with smooth gradients, subtle shadows, and continuous tones — using a tool that only knows on and off?

The answer is dithering. Dithering simulates shades of gray by varying the density of black dots. In a dark area, dots are packed tightly together. In a light area, they are sparse. From a distance, the human eye blends these dots into the perception of a continuous tone. It is the same principle behind newspaper photographs and pointillist paintings.

The algorithm you choose for dithering has a dramatic effect on the final engraving. Two identical photos run through different dithering algorithms can produce results that look nothing alike. Some algorithms preserve fine detail. Others favor high contrast. Some produce smooth gradients while others introduce visible patterns. Choosing the right algorithm for your material, image, and machine is one of the most important decisions in photo engraving.

How Error-Diffusion Dithering Works

All seven algorithms covered in this guide are error-diffusion algorithms. They share the same basic principle:

  1. Threshold: The algorithm looks at each pixel's brightness value (0–255) and decides: is this pixel closer to black or white? If the value is below 128, it becomes black (laser fires). If above, it becomes white (laser skips).
  2. Calculate the error: The difference between the pixel's original brightness and the final value (0 or 255) is the "error." For example, if a pixel has a value of 100 and is thresholded to 0 (black), the error is 100.
  3. Diffuse the error: That error is distributed to neighboring pixels that have not yet been processed, adjusting their values. This ensures that the overall brightness of a region is preserved, even though each individual pixel is purely black or white.

The key difference between algorithms is how they distribute that error: to how many neighbors, in what directions, and with what weights. A wider diffusion area produces smoother results but takes longer to compute. A narrower diffusion is faster but can introduce directional artifacts.

In the matrices below, * marks the current pixel being processed. The numbers show the fraction of the error distributed to each neighbor. The algorithm scans left to right, top to bottom, so error is only pushed forward and downward — to pixels not yet visited.

The 7 Algorithms Compared

1. Floyd-Steinberg

Published by Robert Floyd and Louis Steinberg in 1976, this is the most widely known error-diffusion algorithm. It distributes the error to just 4 neighboring pixels, making it fast and producing sharp results.

* 7 3 5 1 / 16

The error is divided by 16 and spread across the four neighbors: 7/16 to the right, 5/16 below, 3/16 below-left, and 1/16 below-right. Because the largest share goes to the immediate right neighbor, Floyd-Steinberg can sometimes produce subtle diagonal artifacts visible in large uniform areas.

For laser engraving, Floyd-Steinberg is a reliable all-rounder. It preserves detail well and handles gradients smoothly. It is the default in many image processing tools for a reason.

Best for: Detailed photos on wood. General-purpose engraving where you want a safe, proven choice.

2. Atkinson

Developed by Bill Atkinson for the original Apple Macintosh, this algorithm has a distinctive characteristic: it only diffuses 6/8 (75%) of the error, intentionally discarding the remaining 25%. This produces higher contrast images where light areas stay lighter and dark areas stay darker, at the cost of losing subtle tonal detail in shadows and highlights.

* 1 1 1 1 1 / 8 (only 6/8 diffused) 1

Each of the six neighbors receives 1/8 of the error, for a total of 6/8 diffused. The remaining 2/8 is simply lost. This "lossy" behavior is actually an advantage for laser engraving: it produces punchy, high-contrast results that look great when burned into wood or leather.

Atkinson is arguably the most popular dithering algorithm in the laser engraving community. The high-contrast output translates well to burned surfaces where subtle shadow detail would be lost anyway. If you are engraving a portrait or a logo, start with Atkinson.

Best for: High-contrast images, portraits on wood, leather engraving. The community favorite for a reason.

3. Burkes

Daniel Burkes designed this algorithm as a simplified version of Stucki. It spreads error across two rows and five neighbors per row, producing smoother gradients than Floyd-Steinberg without the computational cost of Jarvis or Stucki.

* 8 4 2 4 8 4 2 / 32

The wider spread (compared to Floyd-Steinberg's 4 neighbors) reduces directional artifacts and produces more natural-looking gradients. The results are slightly softer but more even, with less visible patterning in midtone areas.

Best for: Photos with subtle tonal variations, smooth sky gradients, soft portrait lighting. A good upgrade from Floyd-Steinberg.

4. Jarvis-Judice-Ninke

This algorithm uses the largest diffusion area of the group, spreading error across 12 neighbors in a 3-row pattern. Developed by J.F. Jarvis, C.N. Judice, and W.H. Ninke at Bell Labs in 1976, it produces the smoothest results but is the slowest to compute.

* 7 5 3 5 7 5 3 / 48 1 3 5 3 1

The three-row diffusion spreads error over a much larger area, which virtually eliminates directional artifacts. The result looks smooth and almost photographic, but can appear slightly "soft" compared to more aggressive algorithms like Atkinson. Fine detail may be diluted by the wide error spread.

Jarvis works best at larger sizes where the smoothness becomes an asset rather than a liability. On a small 50x50mm engraving, the softness may make the image look muddy. On a 200x300mm piece, it can look stunning.

Best for: Large-format engravings, images with smooth gradients, scenic landscapes. Choose this when smoothness matters more than sharpness.

5. Sierra (Full / Three-Row)

Frankie Sierra's full algorithm uses a 3-row diffusion pattern with 10 neighbors. It is a good compromise between the smoothness of Jarvis and the speed of Floyd-Steinberg.

* 5 3 2 4 5 4 2 / 32 2 3 2

Sierra delivers clean, well-balanced results. The gradients are smooth without being soft, and fine detail is preserved better than with Jarvis. It is a versatile choice when you are not sure which algorithm will work best for a particular image.

Best for: General-purpose engraving. A safe choice when you want smooth results without sacrificing detail.

6. Sierra Lite

A heavily simplified version of Sierra, distributing error to only 2 neighbors. This is the fastest error-diffusion algorithm in this list.

* 2 1 1 / 4

With only three values to compute per pixel, Sierra Lite is extremely fast. The tradeoff is rougher output with more visible patterning. For laser engraving at lower resolutions (say, 5–6 lines/mm), this roughness is not always a problem — the inherent imprecision of the laser at lower resolutions hides some of the artifacts.

Sierra Lite is also useful for quick previews: run it first to check framing and composition, then switch to a more sophisticated algorithm for the final burn.

Best for: Quick previews, lower-resolution work, thin materials (paper, cardboard) where you want fast engraving at reduced power.

7. Stucki

Peter Stucki's algorithm uses a wide diffusion area similar to Jarvis (12 neighbors, 3 rows) but with different weights that produce slightly sharper results.

* 8 4 2 4 8 4 2 / 42 1 2 4 2 1

Compared to Jarvis, Stucki gives more weight to the immediate neighbors (8/42 right vs. 7/48 for Jarvis) and less to the distant ones. This keeps the wide-diffusion smoothness while retaining more local detail. The results are clean and well-defined, with excellent tonal range.

Stucki excels on light-colored materials where fine detail and subtle tonal gradations are visible. On dark materials like slate, where only the lightest tones are visible as contrast, Stucki's tonal accuracy helps preserve detail in the darker regions of the image.

Best for: Detailed work on light materials, anodized aluminum, slate. When you want Jarvis-level smoothness with better sharpness.

Which Algorithm for Which Material?

Different materials respond differently to dithering patterns. The contrast range, burn color, and surface texture all affect which algorithm looks best. Here is a practical guide based on real-world testing:

Material Recommended Why
Plywood / Bamboo Atkinson or Floyd-Steinberg Wood grain adds natural texture. Atkinson's high contrast cuts through the grain. Floyd-Steinberg preserves more shadow detail.
Leather Atkinson Leather has a narrow tonal range — burns are either dark or not visible. Atkinson's high contrast works perfectly with this limitation.
Slate / Stone Floyd-Steinberg or Stucki Slate turns white where the laser hits, leaving dark stone as "shadow." You need algorithms that preserve detail in dark tones. Stucki's accurate tonal mapping helps here.
Anodized Aluminum Stucki (or any) The contrast is excellent on anodized surfaces. Any algorithm works well, but Stucki produces the finest detail for demanding images.
Cardboard / Paper Sierra Lite Thin materials need low power and fast speed to avoid burning through. Sierra Lite's fast processing pairs well with quick, low-power settings.
Acrylic (painted) Floyd-Steinberg or Burkes Painted acrylic offers good contrast. Burkes' smooth gradients look particularly clean on this uniform surface.

These are starting points, not rules. Every image is different, and the best way to know which algorithm works for your specific combination of image, material, and machine is to test.

Settings That Affect Dithering Results

The dithering algorithm is only one variable in the equation. Several other settings interact with dithering to determine the final result:

Resolution (Lines per mm)

This controls how many lines the laser traces per millimeter of height. Higher resolution (10–12 lines/mm) means smaller dots and finer detail, but much slower engraving time. Lower resolution (5–6 lines/mm) is faster but produces a coarser result where individual dots may be visible. Most users settle on 7–8 lines/mm as a balance between quality and speed.

The resolution must match your laser's spot size. A 3W diode laser with a ~0.08mm spot can realistically achieve 10–12 lines/mm. Pushing beyond what your laser can physically resolve just wastes time without improving quality.

Brightness and Contrast

Adjusting brightness and contrast before dithering is critical. A photo straight from a camera often has a brightness distribution that does not translate well to laser engraving. Increasing contrast and slightly boosting brightness usually improves results, especially for darker images. Most laser software (including Lùmen) lets you adjust these before the dithering step.

Power and Speed Calibration

Even the perfect dithering result will look bad if your power and speed are wrong. Too much power and the dots bleed into each other, turning everything into a dark mess. Too little power and the dots are faint or inconsistent. Speed affects how long the laser dwells on each point — faster means less energy per dot.

The ideal power/speed combination depends on your specific laser module, focus distance, and material. There is no universal answer, which is why testing is essential. If you own a Sculpfun engraver and need help with initial calibration, our Sculpfun Mac setup guide includes recommended starting values for each model.

How to Test on Your Machine

The most reliable way to dial in your dithering settings is to run a Power/Speed test grid. This creates a matrix of small squares, each engraved at a different combination of laser power and feed rate. By examining the grid, you can quickly identify the sweet spot for your material.

Lùmen includes a built-in Power/Speed Test Grid generator. You define the range of power and speed values, and it produces a calibration grid ready to engrave. Run this on a scrap piece of your target material before committing to a full photo engraving. It takes a few minutes and can save hours of trial and error.

Once you have found your ideal power and speed, try the same image with two or three different dithering algorithms. Atkinson and Floyd-Steinberg are always worth comparing, and add Stucki if you are working on a material with good tonal range. The differences are often subtle on screen but clearly visible on the engraved piece.

Summary

There is no single "best" dithering algorithm. Each one makes a different tradeoff between contrast, detail, smoothness, and speed. The right choice depends on your image, your material, and what you want the final piece to look like.

If you are just getting started: use Atkinson. It is forgiving, high-contrast, and produces results that look good on the widest range of materials. As you gain experience, experiment with Floyd-Steinberg for more detail, Stucki for tonal accuracy, or Jarvis for large-format smoothness. For help choosing the right software to apply these algorithms on your Mac, see our best laser engraver software for Mac comparison.

The most important thing is to test. A five-minute test grid tells you more than any guide ever could.

Related Guides

  • How to Use Sculpfun Laser Engravers on Mac
  • Best Laser Engraver Software for Mac
  • Affordable LightBurn Alternatives for GRBL
Lùmen

All 7 algorithms built into Lùmen

Native macOS laser engraver controller with real-time dithering preview, power/speed test grid, and GRBL streaming. One-time purchase, €9.99.

Download Lùmen