DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
ThatPainter
CNC

RasterCarve Converts Images to CNC: How the Open-Source Tool Works

RasterCarve is a free Python tool that converts grayscale bitmap images into raster CNC engraving toolpaths. Here is how it works, how to run it, and what to check before cutting.

By ThatPainter Team 8 min read
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

ThatPainter is reader-supported. When you buy through links on our site, we may earn an affiliate commission. Learn More

RasterCarve is a small, open-source Python utility that turns bitmap images into raster-engraving G-code. It samples an image line by line, maps brightness to cutting depth, and produces a toolpath that a compatible three-axis CNC router can execute.

It is useful for grayscale artwork, photographs, and tonal engravings—but it is not a CNC controller, a complete CAM package, or an automatic raster-to-SVG converter. You must still prepare the image, verify the G-code, configure the machine, and choose safe tooling and cutting conditions.

What RasterCarve does

RasterCarve belongs to the raster-engraving category. Instead of identifying clean outlines, it sweeps a cutter across the work in successive passes. Darker image areas are normally mapped to deeper cuts, while lighter areas receive shallower cuts. The result is a physical interpretation of image brightness through depth and tool geometry.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
FoxAlien Masuter Pro 3-Axis CNC Router Machine, Beginner Hobby Engraving Machine All-Metal Structure for Wood Acrylic MDF Nylon Routing Milling Carving
  • All-Aluminum Structure & Enhanced Stability: Engineered with an all-metal framework and linear rail Z-axis, the FoxAlien Masuter Pro offers superior precision, durability, and stability for detailed engraving and cutting on wood, acrylic, MDF, nylon, and more.
  • Upgraded Dust-Proof Controller & User-Friendly Design: Features a compact, dust-resistant controller box with easily accessible emergency stop and home buttons for safer, more convenient operation.
  • Versatile Spindle Compatibility & Customization: Includes two spindle clamps (52mm & 65mm) compatible with 60W and 300W spindles, as well as custom upgrade options like 65mm router or 1.5KW spindle for advanced carving needs. It also supports the 69mm spindle clamp, please buy separately.
  • Quick Assembly & Pre-Wired Components: Main parts are pre-assembled with pre-wired wiring to the controller, plus a detailed step-by-step manual—set up in just 10-15 minutes, ideal for hobbyists and DIY enthusiasts.
  • Large Working Area & Expandability: Features a generous 15.75” x 15.75” x 2.36” (400 x 400 x 60mm) engraving surface, with optional Y-axis extension kit, perfect for larger projects and versatile woodworking applications.
  1. Start with a bitmap such as PNG or another format supported through OpenCV.
  2. Crop, resize, grayscale, and adjust the image for engraving.
  3. RasterCarve samples the image along a series of lines.
  4. Pixel intensity is converted into cutting depth.
  5. The program writes G-code to standard output.
  6. You load that G-code into a suitable CNC sender or controller.
  7. The router engraves the image row by row.

The project is attributed to Franklin Wei, is distributed under the GPLv2-or-later license, and is available as a Python package on PyPI. The latest release shown on the package page is version 1.0.8, uploaded on March 25, 2020. That makes RasterCarve a useful but relatively old project; do not assume that it is actively maintained or that every modern Python version, operating system, or controller has been tested.

The package description also references a hosted version at rastercarve.live. Its current uptime, maintenance, privacy practices, and security were not independently verified, so local installation is the more transparent option for sensitive images.

Raster engraving is not vector cutting

This distinction determines whether RasterCarve is the right tool.

  • Raster engraving follows rows or angled passes across an image. Brightness controls depth or another engraving parameter.
  • Vector cutting follows defined lines, curves, outlines, pockets, or profiles.
  • RasterCarve primarily generates depth-varying raster toolpaths. It does not automatically create clean SVG or DXF outlines from a photograph.

For a portrait, textured illustration, or grayscale painting that should become a tonal engraving, RasterCarve may fit. For lettering, a logo outline, contour cutting, or profile machining, you generally need vectorization and conventional CAM. WinTopo, for example, is designed to convert raster artwork into vector data for CAD, GIS, and CNC workflows; that is a different job.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install RasterCarve

The published package metadata requires Python 3.6 or newer. Because that requirement comes from a 2020 release, treat it as package metadata rather than proof of compatibility with every current Python release.

A virtual environment keeps RasterCarve separate from other Python projects:

Rank #2
Twotrees TTC450 Pro All-Metal CNC Router Machine with NEMA 57 Stepper Motor
  • 【Capacitive Touch Screen + Professional Expansion Ports】The TTC450 Pro CNC engraving machine is equipped with a highly responsive 3.5-inch IPS capacitive touch screen for intuitive and smooth operation. Its control box integrates a 4th-axis rotation port, laser module port and 500W spindle speed control port, enabling seamless upgrades to a 4-axis engraving machine or combined CNC wood carving and laser engraving/cutting machine to meet your growing creative needs.
  • 【High-Precision Z-Axis Creative Freedom for CNC Router Machine】This premium CNC router features an extra-large square working area of 18.1 inches (460 x 460 x 80 mm), easily handling furniture panels, large signage and batch production. The high-precision Z-axis driven by a 57 stepping motor (positioning accuracy up to 0.0025 mm) delivers outstanding depth control and surface finish for multi-layer engraving and intricate relief work.
  • 【Wide CNC MachineCompatibility】This desktop CNC router adopts the open-source GRBL control system, perfectly compatible with mainstream design software including ArtCam, Fusion 360, Easel and Carveco Maker. It supports Windows, macOS and Linux operating systems. A large user community and abundant technical resources ensure a smooth workflow from design to production.
  • 【Sturdy Structure for Stable Performance】Wood CNC machine Constructed with aluminum alloy and stainless steel, the CNC milling machine body is built with dual limit switches (TM-1618D micro switches) on XYZ axes, forming a solid and safe working platform. With industrial-grade overall structure, this wood engraving machine effectively suppresses vibration, ensuring stable operation and repeat positioning accuracy during long-hour and high-load machining.
  • 【Complete CNC Router Accessories for Woodworking】You will receive a full accessory set including 10 cutting tools: pointed carving bits, flat end mills, chamfer cutters, 6 clamping plates, test engraving materials and a 775 brushed spindle motor. The machine works with a wide range of materials such as wood, acrylic, carbon fiber, as well as aluminum, copper and stainless steel, covering creative prototyping and functional parts production.
python -m venv .venv

Activate it in Windows PowerShell:

.venvScriptsActivate.ps1

Or on macOS and Linux:

source .venv/bin/activate

Install the package and inspect the locally installed command:

python -m pip install rastercarve
rastercarve --version
rastercarve -h

Running the help command before processing an image matters. It confirms the options supported by the version you actually installed, including the units and semantics of settings whose behavior may depend on the release.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Generate your first toolpath

The documented basic example is:

rastercarve --width 10 examples/test.png > out.nc

This asks RasterCarve to make the image 10 inches wide and redirects the generated G-code into out.nc. The > character is shell redirection; RasterCarve writes the toolpath to standard output rather than choosing the output filename itself.

You must provide exactly one physical dimension:

rastercarve --height 8 photo.png > photo.nc

RasterCarve calculates the other dimension from the image aspect ratio. Use clear filenames that preserve the source image and identify the intended size, for example portrait-10in.nc. Do not overwrite the original image or an earlier verified toolpath.

Important command-line options

Option Purpose
--width / --height Sets the physical output size; supply one, not both.
-f Cutting feed rate.
-p Plunge rate.
--rapid Rapid-traverse speed.
-z Safe Z height used while moving between engraving areas.
--end-z End or traverse Z setting; confirm its exact meaning with the installed version’s help output.
-t V-bit angle used in depth and width calculations.
-d Maximum cutting depth.
-a Raster-line angle.
-s Stepover between adjacent raster passes.
-r Linear resolution, or distance between successive G-code points.
--dots Alternate dot-oriented rendering mode. Confirm its machine behavior locally.
--no-line-numbers Omits line numbers. The package specifically warns that this can be dangerous on ShopBot machines.
--preamble / --epilogue Adds machine-specific G-code before or after the toolpath.
--json Writes statistics to a JSON destination.
--debug / -q Enables diagnostics or suppresses progress and statistics output.

Published example values—including a 30-degree V-bit, 0.080-inch maximum depth, 100 inches per minute feed, and 30 inches per minute plunge—are example settings, not universal recommendations. A safe value depends on the machine, cutter, material, workholding, spindle, and controller.

What the published example reveals

RasterCarve’s example uses a 512 × 512 pixel image and produces a 10 × 10-inch output. Its reported statistics include:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
FoxAlien XE-Ultra 8080 CNC Router Machine with NEMA 23 Closed-loop Stepper Motor, Large Size Benchtop Engraving Milling Machine for Woodworking, Aluminum, Acrylic, Carbon Fiber DIY Cutting
  • Mega-Scale 33"x33"x4.72" Workspace: Tackle ambitious projects with a super large XYZ working area (33x33x4.72in) and 5.3" pass height, engineered for large materials and complex designs.
  • Industrial Rigidity & Precision: Equipped with 16mm ball screws (XY) and 12mm ball screws (Z) paired with HG-15 linear rails on all axes, ensuring smooth and high-accuracy movement. The heavy-duty 46×80mm aluminum frame ensures long-term stability and rigidity.
  • 2.6 N.m Closed-Loop Stepper Motors: Featuring 60-86mm closed-loop stepper motors delivering powerful 2.6Nm torque with intelligent step-loss protection, maintaining high performance and precision even at high speed up to 5,000mm/min.
  • Open Spindle Ecosystem: Total flexibility on spindle choices. Customize your setup—supports 65mm routers, FoxAlien 1.5kW VFD spindle, or FA20W/40W/80W engraving modules (65mm clamp included, spindle not included in the package).
  • Industrial Inductive Limit Switches: All-axis sensors offer instant response (0.5ms response), anti-interference performance, and extended durability. Physical hard limits provide dual-layer collision protection.
  • Maximum line depth: 0.080 inch
  • Maximum line width: 0.043 inch with a 30-degree V-bit
  • Line spacing: 0.047 inch
  • Line angle: 22.5 degrees
  • Number of lines: 277
  • Input resolution: 51.2 PPI
  • Output resolution: 100 PPI
  • Toolpath length: 2,202.6 inches
  • Estimated machining time: 1,351.2 seconds, or about 22.5 minutes

These figures are specific to the package’s example. They demonstrate why a small-looking image can produce a surprisingly long job: physical size, image resolution, stepover, line angle, and point spacing all affect file size and machining time.

Prepare the image before generating G-code

Image preparation often matters more than the conversion itself. A photograph that looks good on a screen may contain too little tonal separation—or too much fine detail—to carve cleanly.

  1. Crop the composition. Remove empty areas and place the subject within the intended stock dimensions.
  2. Convert to grayscale. Color information must ultimately become a depth or intensity value.
  3. Adjust contrast. Separate the subject from its background without crushing every midtone into black or white.
  4. Reduce noise. Small photographic artifacts can become unnecessary tool motion.
  5. Resize sensibly. More pixels do not automatically create more visible detail in wood or plastic.
  6. Check the tonal direction. If the subject and background appear reversed, invert the grayscale image before generating the path.
  7. Save a lossless copy. PNG is a practical working format.

The normal project description maps darker pixels to deeper cuts, but preview the result rather than relying only on the source photograph. The final appearance also depends on cutter angle, material, depth, stepover, lighting, and surface finish.

Check compatibility before running the file

G-code is not a universal guarantee of compatibility. Controllers differ in dialect, units, coordinate conventions, supported commands, required startup code, and expectations about line numbers.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Before cutting:

  1. Open the generated file in a simulator or G-code previewer.
  2. Confirm units, axis directions, origin, maximum dimensions, and safe-Z behavior.
  3. Inspect the first and last several lines for appropriate startup and shutdown commands.
  4. Use the correct preamble and epilogue for the target machine when required.
  5. Run an air cut above the stock with the spindle disabled.
  6. Test the complete setup on scrap material.

The PyPI documentation points to a standalone previewer at github.com/built1n/rastercarve-preview. Its current availability and maintenance should be confirmed before relying on it.

Set up the CNC machine

The project documentation describes this high-level workflow:

Rank #4
Sale
SainSmart Genmitsu 4040-PRO MAX CNC Router with 710W Trimmer
  • Next-Generation Precision: Advanced X-axis and Z-axis linear guideway structures for enhanced motion stability and precision.
  • Reinforced Spoilboard with Integrated T-Track: The upgraded spoilboard features a central aluminum support bar that reinforces the MDF to prevent sagging under load, while also serving as a T-slot to enable more versatile clamping and fixture options.
  • Powerful Performance: Equipped with a high-powered 710W digital display compact router for superior engraving and cutting.
  • High Production Efficiency: Reduced machine vibration ensures high precision and stable motion during fast, high-power operations.
  • Increased Pass Height: Offers a 100mm pass height, over 40% higher than the PRO version, for engraving taller materials. Upgrade your trimmer without worrying about a reduction in engraving height.
  1. Install the correct engraving bit.
  2. Secure the stock and confirm that it cannot shift.
  3. Zero X and Y at the top-left corner of the intended image area, unless your controller and workflow use another verified origin.
  4. Check that the lower-right extent remains inside the machine’s travel.
  5. Zero Z on the material’s top surface.
  6. Load the verified toolpath and monitor the first pass.

An engraving bit is preferred in the project documentation, although ordinary V-bits may produce acceptable results. The tool angle used during generation should match the actual cutter geometry. A nominal bit label is not always enough; verify the manufacturer’s specification when possible.

The project author reported the best results with MDF, while plywood and ordinary lumber were more prone to chipping and plastics could melt and stick to the cutter. Those are project-specific observations, not universal material tests. Start with scrap, use firm workholding, and choose feeds, speeds, depth, and chip evacuation for the particular material.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Common problems and fixes

The physical size is wrong

If the carving is stretched, compressed, or larger than the stock, check the supplied width or height, controller units, and coordinate scaling. Recalculate machine travel before re-zeroing and running another file.

The image is inverted

If the background is deep and the subject is shallow, invert the grayscale source, regenerate the G-code, and test on scrap. Do not assume that a bright area on the monitor will look bright on the finished material.

The job takes too long

Fine stepover, excessive image resolution, a large physical output, and angled raster passes can create long toolpaths. Compare the statistics, simplify the image, reduce unnecessary resolution, or increase stepover cautiously while preserving the detail the material can reproduce.

Edges chip or details look fuzzy

Possible causes include grain direction, a dull cutter, excessive depth, unsuitable stepover, weak workholding, or an image containing more detail than the material can hold. Try a sharper tool, shallower cuts, stronger contrast, and a more stable test material.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
LUNYEE 3018 PRO MAX CNC Machine 500W All-Metal CNC Router Machine 3 Axis Limit Switches & Emergency-Stop with GRBL Offline Control for Cutting Wood Acrylic MDF Plastic, Working Area: 300 x 180 x 80mm
  • 500W Spindle & High Speed CNC Router Machine: The 500w Spindle is a Robust and Versatile Component Design. Its High-power Output Enables It to Deliver Consistent Performance, Even When Cutting Through Dense Materials Like Aluminum and Copper. This Powerful Spindle Ensures That Your Machine can Tackle Even The Most Demanding Projects While Maintaining Precision And Efficiency. The Maximum Movement Speed can Reach 5000mm/Min. The Spindle Speed Range is 0-12000RPM/Min.
  • 3018 Pro Max All Metal Structure: All-metal Construction, Have Durability, Stability, and Reliability. By Using Reinforced Aluminum Profiles, The Machine Frame can Withstand Heavy Loads and Resist Wear And Tear Over Time. Furthermore, No Plastic Parts (Except For Electrical Components) Ensures That The Frame Maintains Its Structural Integrity Even in Harsh Operating Conditions.
  • Extra Long Z-Axis Travel: The New Design Makes This Machine Have The Longest Z-axis Stroke Among (80mm) The Standard Models on The Market.additionally, Our Machine Frame Incorporates a 12mm Optical Axis, Which Provides Precise Linear Motion and Accurate Positioning. This Feature is Crucial For Maintaining The Performance and Efficiency of Various Machinery and Automated Systems.We Provide Dedicated Upgrade Kit for 12mm, Please Contact us if Necessary(Upgrade Kit is Sold Separately).
  • 3018 CNC Unparalleled Security: The 3018 CNC Machine Boasts a Robust Safety System with 6 Limit Switches and an Emergency Stop Button, Ensuring Optimal User Safety While Effectively Preventing Any Potential Abnormal Machine Conditions. Moreover, The Xyz Axis is Thoughtfully Outfitted with Manual Handwheels, Enabling Seamless and Accurate Positioning of The Machine Origin, Thereby Enhancing Overall Operational Efficiency and Facilitating a Highly Convenient Working Process.
  • Two-in-One CNC Machine: The Ability to Switch Between Spindle and Carving Modes Allows Users to Perform a Wide Range of Tasks with a Single Machine, From Cutting and Carving to Marking and Etching. Having Versatile Equipment That can Adapt to Different Tasks and Materials is Essential for Maximizing Productivity and Efficiency.

Plastic melts onto the bit

Heat buildup and unsuitable cutting conditions can smear plastic. Stop rather than allowing buildup to continue, then test feed, spindle speed, depth, and chip evacuation on scrap for the specific plastic and cutter.

The controller rejects the file

Check for dialect, units, unsupported commands, missing preamble, line-number requirements, and coordinate conventions. Use the installed help output, add machine-specific startup or shutdown code, preview the path, and perform an air cut. Generic G-code should never be assumed to work unchanged on every machine.

The engraving width does not match expectations

A mismatch between the actual cutter angle and the -t value changes the relationship between depth and engraved width. Verify the bit angle and regenerate the path.

RasterCarve compared with alternatives

Easel

Easel is a broader browser-based CNC design and toolpath environment. Its official page showed a free plan, Easel Starter at $8 per month or $72 per year, and Easel Pro at $24 per month or $216 per year during the available August 2026 pricing check. Prices, quotas, and features can change.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Easel is the better fit for readers who want a graphical workflow, machine profiles, material and tool settings, simulation, and broader design features. RasterCarve is more attractive when the priority is a free local command-line tool that can be scripted or integrated into an automated workflow. Easel’s claim of support for 148 validated CNC routers from 25 manufacturers is a vendor claim and should be treated as time-sensitive.

WinTopo and other raster-to-vector tools

WinTopo is relevant when the goal is to trace scanned drawings, logos, or line art into vector geometry. It is not a direct substitute for RasterCarve’s grayscale, depth-based engraving workflow.

Dedicated photo-carving software

The original Hackaday coverage compared RasterCarve with Vectric PhotoVCarve and described the commercial product as more feature-rich. Its article-era $149 price is from January 2020 and should not be treated as current pricing.

Who should use RasterCarve?

RasterCarve is a good fit if you:

  • Want to engrave photographs, grayscale paintings, or tonal artwork.
  • Are comfortable working from a command line.
  • Understand CNC zeroing, tooling, feeds, speeds, and G-code safety.
  • Want a free, open-source, scriptable tool.
  • Can adapt the output to your controller and verify it before cutting.

It is a poor fit if you need polished GUI design, stock-aware simulation, collision checking, tabs, contour and pocket operations, 3D relief CAM, automatic photo cleanup, specialized post-processing, or actively maintained commercial support.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The Bottom Line

Bottom line: RasterCarve remains a practical lightweight option for technically confident CNC users who want to turn bitmap brightness into a raster engraving toolpath without buying dedicated photo-carving software. Its age and limited scope matter: treat every generated file as unverified G-code, preview and air-cut it, match the tool geometry and controller requirements, and test on scrap before committing valuable material.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

More from the Paint Desk

Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.