Photo to laser engraving converter
Turn a photo into an engraving-ready image without uploading it anywhere. Pick two dithering modes and drag the split to compare them, see how each dot will burn on wood, leather, slate or black anodized aluminum, then download a PNG sized to your line interval with the DPI written in.
Your photo stays in this browser tab. Nothing is uploaded, and nothing about the image is sent to analytics.
Sample drawn by code (no photo): a shaded sphere, the word BEAM, a fan of fine lines and a 0–100 % grey ramp.
Point at the image (or focus it and use the arrow keys) for the magnifier. Drag the orange handle to move the split.
1Size & beam
2Adjust the photo
3Download for LightBurn
Before you press Start: engrave a small test patch on scrap of the same material first; stay with the laser the whole time and keep a fire extinguisher at hand; wear the right glasses for your laser. On a GRBL laser, check that laser mode is on ($32=1) and that $30 matches LightBurn’s S-value max.
PNG at 1,000 × 640 px with 254 DPI written into the file (pHYs). In LightBurn: import it, check that the width reads 100 mm, use Pass-Through (or Threshold) with a line interval of 0.1 mm, and leave Negative Image off — the file is already inverted if it needs to be. For a Grayscale file, use Grayscale mode at the same interval. Do not resize it in LightBurn: in Pass-Through, resizing changes the DPI.
How to use it
- Set the size first. Enter the engraving width and your line interval. The photo is resized to width ÷ interval pixels, so each pixel becomes one dot. If you do not know your interval, find it with the line interval & DPI calculator.
- Enter the dot you really burn. The burned dot on the material is what matters, and it is often wider than the optical spot in the machine’s specs.
- Compare modes. Choose a mode for each side and drag the orange handle. Switch between Burn preview (dots drawn as round spots on the material colour) and Image file (the black-and-white pixels LightBurn will receive). Point at the image to open the magnifier.
- Adjust, then export. Brightness, contrast, gamma and sharpening are applied before dithering. Download the side you prefer and engrave a small test patch first.
The sample at the top is drawn by code — a shaded sphere, the word BEAM, a fan of fine lines and a 0–100 % grey ramp — so the comparison works before you add a photo. The ramp is the quickest place to see where dark tones fill in.
The image modes, compared
| Mode | How it makes tone | What LightBurn and Trotec say it suits |
|---|---|---|
| Jarvis | Error diffusion over 12 neighbours (÷ 48) | LightBurn: generally the best choice for smooth-shaded or photo images |
| Stucki | Error diffusion over the same 12 neighbours, weights closer to the pixel (÷ 42) | LightBurn: good for photos, slightly faster processing than Jarvis |
| Floyd–Steinberg | Error diffusion over 4 neighbours (÷ 16) | Trotec lists it with Stucki and Jarvis for detailed photos. LightBurn’s “Dither” mode is described only as error diffusion; it does not say which kernel |
| Atkinson | Passes on only 6/8 of the error, so highlights and shadows clip | LightBurn: an in-between mode for solid colour or smooth shading; it resembles Jarvis but struggles with detail in very light and very dark areas |
| Ordered (Bayer) | Compares each pixel with a repeating 8 × 8 threshold pattern | LightBurn: a step above Threshold for greyscale images, fine for general use but best for images with large areas of solid fill, where diffusion dithering can leave artifacts; its guide also uses Ordered to calibrate Dot Width Correction. Trotec, for its own software, suggests ordered dithering for fine grey gradations such as people |
| Threshold | Dark → burn, light → skip; no shading | LightBurn: a simple on/off switch, only for images that are already black and white — such as a file dithered outside LightBurn, like the ones this page exports |
| Grayscale | Changes power per pixel instead of using dots | LightBurn: varies power between Min and Max Power |
We do not know which exact pattern LightBurn’s Ordered mode uses, so this page uses the standard Bayer 8 × 8 matrix. All error diffusion here scans each row left to right and drops error that falls off the edge.
Error diffusion coefficients
Every error diffusion method does the same thing: round the pixel to black or white, then hand the rounding error to pixels not yet visited. Only the weights differ. ● is the current pixel; numbers are shares of the error, divided by the number under each grid.
| ● | 7 | |
| 3 | 5 | 1 |
| ● | 7 | 5 | ||
| 3 | 5 | 7 | 5 | 3 |
| 1 | 3 | 5 | 3 | 1 |
| ● | 8 | 4 | ||
| 2 | 4 | 8 | 4 | 2 |
| 1 | 2 | 4 | 2 | 1 |
| ● | 1 | 1 | |
| 1 | 1 | 1 | |
| 1 |
Ordered dithering uses the 8 × 8 Bayer matrix instead; a pixel burns when its brightness is below (M + 0.5) ÷ 64. Its first row is 0, 32, 8, 40, 2, 34, 10, 42.
Floyd–Steinberg, Jarvis–Judice–Ninke and Stucki use the values from their original papers (listed under Sources). We could not open the papers themselves, so the values were checked against several published reproductions that agree with each other. Atkinson’s kernel comes from Bill Atkinson’s work at Apple rather than a paper.
Why dark areas fill in
A dithered file is made of square pixels, but the laser burns round dots. When the burned dot is wider than the line interval, neighbouring dots overlap, so a 50 % grey patch can come out much darker than 50 %. The Marked area result compares the share of the surface the dots will burn with the share the image asks for. The burn preview draws it with this model:
The run model is our simplification: real dots also vary with focus, acceleration and how the material chars, so use it to compare modes and settings, not to predict exact tones. LightBurn’s Dot Width Correction shortens each burned segment to make up for the beam’s width; its documentation puts the ideal at about half the beam’s thickness, and LightBurn’s developer says on its forum that the value must stay below the line interval and helps on anodized or painted surfaces. LightBurn does not publish exactly how the segment is trimmed, so this page takes half off each end.
Slate, black anodized aluminum and leather
On slate and black anodized aluminum the laser makes the surface lighter, so a photo has to be inverted or it engraves as a negative. The tool inverts automatically when you pick those materials. LightBurn has the same switch, Negative Image, and notes it is useful for slate and glass — but if you export an inverted file from here, leave Negative Image off in LightBurn or you will invert it twice. For leather, use vegetable-tanned leather only: chrome-tanned and faux leather are on our list of materials not to laser.
Using the PNG in LightBurn
Import the PNG and check that its width matches the width you set here. LightBurn’s Pass-Through mode engraves the image as it is instead of resampling it, which is what you want for a file that is already dithered; in Pass-Through the line interval is tied to the image size, so do not resize it in LightBurn. In one LightBurn forum thread, a user’s pre-dithered PNG imported at the right size once the DPI was saved in the file, which is why this tool writes it into the PNG. To move a working power and speed to a different machine, use the power & speed converter.
Privacy
The photo is decoded by your browser, processed in memory on this page and saved by your browser when you click download. There is no upload address in the code, the photo is not stored, and nothing about it — not the file name, size or pixels — is sent to our analytics. Closing the tab discards it.
FAQ
- Is this photo to laser engraving converter free, and is my photo uploaded?
- It is free with no daily limit, and nothing is uploaded. The photo is read and converted by JavaScript inside your browser tab; this site has no upload server, and no information about the image is sent to analytics. You can disconnect from the internet after the page loads and it still works.
- Jarvis or Stucki: which dithering is better for laser engraving photos?
- They are close. Both spread each pixel’s rounding error over the same 12 neighbours; Stucki puts more of it on the nearest pixels (16/42 against 14/48 for Jarvis), which gives a slightly finer, crisper pattern. LightBurn calls Jarvis generally the best choice for photos and Stucki a good choice that processes slightly faster. Compare both on your photo with the split view, then test on scrap.
- Should I use Grayscale or Jarvis in LightBurn?
- Grayscale changes the laser power for every pixel between your Min and Max power, so it only works when the material darkens smoothly with power. Jarvis and the other dithers fire full on or off and make tone from the density of dots, so they only need the material to mark or not. If grayscale tests come out blotchy or flat, a dither is usually easier to get right.
- What DPI should my image be for laser engraving?
- Match the image to your line interval: DPI = 25.4 ÷ line interval in mm, so one pixel becomes one dot on one scan line. At a 0.1 mm interval that is 254 DPI, and a 100 mm wide engraving needs 1,000 pixels across. This tool resizes the photo to exactly that and writes the DPI into the PNG.
Sources
- LightBurn documentation, Image mode settings (image modes, Dot Width Correction about half the beam, DPI = 25.4 ÷ line interval, Pass-Through), the legacy Image settings page (Negative Image for slate and glass) and Perfect image engraving (Ordered for Dot Width Correction calibration, Adjust Image).
- LightBurn forum, Dot width correction (value below the line interval; anodized and painted surfaces) and importing PNG files that are already dithered (import size and the DPI in the file; user report).
- Trotec, Raster algorithms (ordered dithering and error diffusion compared).
- R. W. Floyd & L. Steinberg, “An adaptive algorithm for spatial greyscale”, Proceedings of the SID 17(2), 75–77, 1976.
- J. F. Jarvis, C. N. Judice & W. H. Ninke, “A survey of techniques for the display of continuous tone pictures on bilevel displays”, Computer Graphics and Image Processing 5, 13–40, 1976.
- P. Stucki, “MECCA — a multiple-error correction computation algorithm for bi-level image hardcopy reproduction”, IBM Research Report RZ1060, 1981.
- B. E. Bayer, “An optimum method for two-level rendition of continuous-tone pictures”, IEEE International Conference on Communications, 1973 (ordered dither matrix).
- Coefficients cross-checked with Tanner Helland, Image dithering: eleven algorithms.
- PNG specification, pHYs chunk (pixels per unit, unit = metre).
Last checked 2026-11-01 · Calculated previews; no laser was used to make this page.