How to Scale STL Files for CNC Routers Without Ruining the Detail
Scaling a bas-relief STL down by 50% sounds harmless. Carve it though, and the result is often a muddy panel where every face has the same expression and every petal looks like a thumbprint. The geometry is fine. The scaling math was wrong.
This post is the version of "how to scale STL files" we wish existed when we first started shipping bas-relief files for CNC routers, 3D printers, and laser engravers. It covers what actually changes when you scale an STL, the three independent dimensions you control, and the depth-and-bit math that decides whether a 9-inch panel will carry the same detail as the 24-inch original.
STL scaling is not image scaling
When you scale a JPG, every pixel shrinks together and the picture stays readable down to a point. STL files are different in two important ways.
First, an STL is a mesh of triangles describing a 3D surface, not a flat image. Scaling X and Y down while leaving Z (depth) constant makes the relief look deeper relative to the panel. Scaling Z down without changing X and Y flattens the carving until details vanish. Most makers scale uniformly, which is the right answer 80% of the time — but recognising the 20% case is what separates a clean carve from a disappointing one.
Second, your CNC router cannot reproduce features smaller than the diameter of its smallest bit. A 1mm tapered ball-nose can hold detail down to roughly 0.4mm wide. Anything finer in the STL — an eyebrow, a leaf vein, a strand of hair — gets averaged out, no matter how good the file is. That's a hardware limit, not a file limit.
The three axes you control
X and Y (panel size)
This is the easy one. Set your final panel width and the CAM software fills in the height to match the file's native aspect ratio. We design every DigitalChiselCo file to a standard 16:9 or 4:3 ratio that fits a typical hobby router bed (300mm × 200mm and up). If you want a wider or narrower panel than the file ships at, crop in your CAM software rather than stretching the mesh — stretched relief faces always look uncanny.
Z (relief depth)
Z controls how proud the carving stands off the background. Our files ship at a depth tuned for the source artwork — usually 8–14mm of total relief in the original Z extent. Halving X and Y but leaving Z untouched makes the carving look almost like a sculpture in shallow profile. Halving Z to match preserves the visual proportion you saw in the product preview.
Quick rule: if you scale X and Y uniformly, scale Z by the same factor. If you scale them differently, scale Z by the smaller of the two factors.
Mesh density
Every STL has a finite number of triangles. Scaling down doesn't reduce triangle count, which sounds harmless but can slow your CAM software to a crawl on a 200,000-poly file. If your CAM is freezing, run the file through a decimator (Meshmixer, MeshLab, or built-in tools in Aspire and Carveco) and target 80,000 polys — enough for crisp toolpaths, fast enough to preview in real time.
The practical workflow (Aspire, VCarve and Fusion 360)
The steps are nearly identical across software; the menus move around.
- Set the panel size first. Define your stock width and height before importing the STL. This is the single most common mistake — importing the file, eyeballing it, then trying to resize after toolpaths are calculated.
- Import as Component (Aspire / VCarve) or Mesh (Fusion). Position with the bottom of the mesh aligned to the panel surface. The lowest Z point in the STL is your background depth.
- Scale uniformly until X matches your panel width. Lock the X/Y/Z proportions. In Aspire this is the "lock aspect ratio" tick under the scale dialog; in Fusion you hold Shift while dragging the manipulator.
- Override Z only if you need to. Thinner panels (¾" stock) sometimes need Z capped to leave enough material for cleat tabs on the back.
- Preview with the Z view shaded. Aspire's "render with material" view will tell you immediately whether your details are about to disappear into a noise floor.
Step-down strategy: matching depth to your bit
Depth alone doesn't determine detail — the ratio of depth to bit diameter does. A 6mm-deep panel cut with a 1.5mm tapered ball gives you wildly different fidelity than the same panel cut with a 3mm ball.
Our rule of thumb for bas-relief:
- Roughing pass: 6mm or 1/4" end mill, 50% stepover, 3mm step-down. Clears bulk material fast.
- Finishing pass: tapered ball-nose, tip diameter no larger than 1/3 of your smallest visible feature. For most of our files, that's a 1mm or 0.5mm tip.
- Stepover for the finish pass: 8% of bit diameter for showroom finish, 12–15% for "good enough to oil and hang." Smaller stepover = longer cut time. We size for 12% as a default.
The smaller-bit-with-tighter-stepover combo costs you machine time, but it's the only honest way to preserve the detail in the STL. Trying to rush a fine-detail carving with a 3mm ball and a 30% stepover is the most common cause of "the file looks blurry."
Diagnosing "the carving looks flat"
If your first carve is finished and the relief looks softer than the preview image, walk through this list before blaming the file:
- Was Z scaled with X and Y? Look at the panel from the side and measure the deepest point — it should match what your CAM said it would.
- Was the finishing bit smaller than your smallest visible feature? Probably not, in 90% of "flat" results.
- Stepover under 15%? If you went to 25% to save time, that's the cause.
- Wood grain interfering? Walnut and cherry hold detail far better than soft pine or poplar — the soft fibres collapse under fine bits.
If all four check out and it still looks flat, the file probably is too aggressively low-poly or was authored at a smaller original size. That's where buying from a specialist like DigitalChiselCo matters: every file we ship is authored at a real-world panel size and re-tested at 50%, 75% and 100% scale before it goes on the site.
When NOT to scale (and use a different file instead)
Some STL files don't scale gracefully. Specifically:
- Faces under 100mm. Human likeness depends on micro-features (lash lines, lip transitions) that exist below your bit's resolution at small sizes. If you want a 60mm portrait, look for a file designed for ornament scale rather than scaling a wall-art file down 70%.
- Text panels under 200mm wide. Letterforms have stroke widths that need to stay readable. Scale a quote panel too far and you'll fight chip-out on every serif.
- Layered scenes (mountains-behind-trees, foreground-against-background). When you compress Z, the layers stack visually instead of receding. Look for the file in a single-subject variant instead.
If you're unsure whether a file will hold up at your target size, we list every file's recommended size range on its product page. When the listing says "best between 250mm and 600mm wide," that's the result of our test pass, not a marketing line.
Putting it together
A clean carve is the sum of small decisions: lock the aspect ratio, scale Z with X/Y, pick a finishing bit smaller than the smallest visible feature, and don't push stepover past 15% on detail work. None of these are exotic. All of them are easy to skip when you're in a hurry.
If you want files that have already been pressure-tested across the size range you actually carve, browse the DigitalChiselCo collections or grab the free 5-file starter pack to test your workflow before committing to a paid file. Either way, scaling is a tool, not a free pass — use it like one and your carvings will show it.