Published: April 7, 2026
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.
All seven algorithms covered in this guide are error-diffusion algorithms. They share the same basic principle:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
A heavily simplified version of Sierra, distributing error to only 2 neighbors. This is the fastest error-diffusion algorithm in this list.
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.
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.
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.
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.
The dithering algorithm is only one variable in the equation. Several other settings interact with dithering to determine the final result:
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.
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.
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.
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.
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.
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