DIY Vinyl Cutting Drag Knife for Desktop CNC

A desktop CNC is a great addition to any 3D printer or laser cutter. I consider them ‘the trinity’ for any maker garage. While a desktop CNC is great for wood and some metals like aluminum or brass, it would be great to extend the infrastructure with something more: vinyl cutting. And with this the idea to have cool sticker on my laptop lid:

CNC cut-out design on laptop lid


Adding a drag knife for vinyl cutting is nothing new: there are plenty of projects you can find on the internet or Thingiverse. Many of them use 3D printed design to hold a razor blade.

Other Drag Knife Holders (Source: Thingiverse)

Many of them are not spring loaded (I only want to cut the vinyl, not the back paper, and I want to compensate for the surface) or cannot easily fit into a normal router collet (I don’t want to remove the router) or are not electrically connected to the blade (I want to use my zero Z probe and bit changer).

So I ended up with my own design, using vinyl cutter holder plus 3D printed parts with some hex screws and smaller modifications. The main concern was accuracy and sturdiness, despite of 3D printing.


To build this head, I used the following:

  1. M5 Hex screw with at least 20 mm thread, otherwise non-threaded
  2. 4x M4x20 mm threaded rods, around $2
  3. 4x M4x25mm screws
  4. 4x M4x15mm screws
  5. 4x M4 10mm washers
  6. 1x M5 18mm washer
  7. 32x32x2 mm aluminum plate
  8. 1x 15×33 mm spring (around $1)
  9. 1x Roland cutter blade holder with cutting blades (around $5)
  10. Sticky vinyl cutting mat (A3 size, around $10)
  11. Vinyl transfer film (30x500cm, around $10)

The costs for the head itself are around $10 (plus the vinyl, transfer film or cutting mat).

In the image below the M4 10 mm washers are missing, and they show the parts from the top to the bottom:

  • Threaded rod and nut to fit into the collet with aluminum plate
  • 3D printed top part with washer and nut
  • 4 hex screws from the top aluminum plate to the 3D printed spacer
  • 4 threaded distance holders
  • Bottom 3D printed spacer to hold the distance rods
  • Press-Fit blade holder with 4 hex screws to the distance rods
  • blade holder with insert, blade and spring which all get placed between the distance holders

The 3D parts are all printed in ‘draft’ mode (0.2 mm height) with 30% infill.

Update: I changed one element to make it possible to remove the blade without the need to disassemble the head: with that gap and tweezers, the knife can be pulled out the head and easily changed.

Added gap for tweezers to remove knife
Access for Tweezers to pull out knife

The ‘Roland’ head to hold the blades is available from many sources on the internet, including AliExpress:

Drag Knife Holder (Source: Aliexpress)

Inside that head, the blade can rotate as it is hold back by a magnet. Be sure to get some blades too (blue: 60° (thick materials), yellow 30° (small details), red 45° (standard)).

The drag knife is inserted into the holder and is slightly off-center: that way the knife turns and follows the line automatically. The knife has to be adjusted so it only cuts the vinyl but *not* the back paper:

Note that the knife holder itself does *not* rotate: the small knife inside the blade automatically rotates and follows the movement.

Another good thing for cutting vinyl is a sticky cutting mat:

Sticky Vinyl Cutting Mat

The mat has a sticky surface similar to post-it. I glued it on a piece of MDF and then clamped down to the CNC bed. The vinyl sheets then stick to the mat and everything is kept in place.

Vinyl on sticky cutting mat

The holder is ‘mostly’ 3D printed, below the four pieces. The top and bottom part are printed in two pieces for easier printing. That way the hex screws and distance rods fit inside the 3D printed parts.

I intended to use 3D printing for a prototype only and later mill it out of aluminum. But the above design was so rigid that there was no need for the 3D milling. I only used a 2 mm aluminum milled plate on the top to keep the shaft very rigid.

The top and bottom parts are hold together with hex screws and 4 distance threaded rods. The spring between keeps the press-fit folder in pace:

To insert the knife holder into the CNC collet, I have cut a M5 Hex screw:

The lower end of the screw gets attached with a washer to the top part of the holder:

Below the drag knife holder assembled:

The router (Makita in my case) does not need to be removed, as the head attaches to the router collet and is firmly attached.

Drag Knife Mounted below Makita Router

Because the spring is connected to the blade holder, a magnetic probe can be used with the drag knife. The magnet fits between the two rods:

Z-Probe attached with magnet to spring

For Z-Probing the other side of the probe is placed on the vinyl or cutting area below the drag knife:

Drag Knife with Z-Probe

See the video later in the article how this works. Having accurate Z zero position is critical for a good cut.


To cut out the designs I generated GCode for the machine using the free version of Carbide Create and the open source tool Inkscape. One important aspect for the design is to avoid ‘sharp’ corners if possible. Below is a detail of the design I used:

Sharp corners in design

It is best to smooth these corners, but the above corners worked without issues for me. In the end, you have to find out what works and what does not for your machine and vinyl material.

I used a ‘Contour’ toolpath with no offset and 1 mm cut depth using a custom defined tool:

The custom tool is defined like below:

Custom Drag Knife Tool

Most parameters really do not matter, except:

  • Feed Rate: speed for moving the knife. I’m using 20 inches/minute
  • Cut Depth: This one shall be larger than the max depth specified in the tool path, otherwise it ends up in multiple passes. I specified half of an inch just to be the safe side
  • RMP: the drag knife does *not* rotate. As it was not possible to enter a RPM of zero, I set a speed of 1.

Alternatively you might edit the GCode file and remove the M03 command which sets the spindle speed. What I do is simply ignore the the command during cutting and not turning on the spindle.

The image below shows the dimensions and numbers behind the tool definition:

Cut Depth and Vinyl Foil Relationship

Usual vinyl foils are around 0.2 mm thick. The blade shall only cut the foil and not the back paper, so the blade is only 0.2 mm outside of the head. Zero Z axis is the top of the vinyl. Telling the machine to have a cut depth of 1 mm means it will press the head down 1 mm from the Z zero position: with the spring loaded blade the knife will only go 0.2 mm deep inside the vinyl, and the head will be pressed with the spring onto the vinyl surface.

You can see the a cut in the video below.

In the video one small ‘inner’ piece gets moved out a bit: this shows that good contact between the vinyl and the back paper is essential and important. This can happen for very small pieces or cut-outs, so need to be planned accordingly. And I recommend to round/sand the possibly sharp corners on the head to avoid this:

Below is the result of one of the first cuts:

Inner cutouts removed

I’m using a transfer film to get the design off the back paper:

The lines on the transfer film makes it easy to position it on the target surface, in this case the lid of my laptop:

Positioning design on target surface

Then after carefully removing the transfer film: the result:

Finished design on laptop


Adding a vinyl-cutting spring-loaded drag-knife extends the possibilities of a desktop CNC. It would not be limited to vinyl film, but could be used for paper-cuts or similar too. With mostly 3D printed parts and a few extras like hex screws and a blade holder for cutting machines a rigid and working head can be constructed. With using a collet based design I don’t have to remove the router, and best of all I can use all the probing equipment the same way as for all the other milling tools. I hope you find this inspirational and useful for your next design.

Happy cutting 🙂


9 thoughts on “DIY Vinyl Cutting Drag Knife for Desktop CNC

  1. Pingback: Optimized Vinyl Cutting G-Code Tool Path with DXF2GCODE | MCU on Eclipse

  2. Pingback: DIY vinyl cutting drag knife for a desktop CNC #CNC @McuOnEclipse « Adafruit Industries – Makers, hackers, artists, designers and engineers!

  3. Pingback: DIY Split-Flap Display | MCU on Eclipse

  4. How do you achieve the blade over cutting to finish the cut for each piece/path and not having to manually finish each cut with a hobby knife when weeding out?

    Liked by 1 person

What do you think?

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.