Custom Keycaps

In this project we're 3D printing custom keycaps for mechical keyboards. This is a mechanical keyboard with cherry mx switches. It features a customizable layout and LED backlighting. It comes with extra keys which is really nice, but there's a lot of cool stuff you could do by 3D printing your own!

Easy to install

These keycaps are held by a connector piece in the center of the key (stem) and it just easily snaps on. Perfect for customizing keys to match your typing style. You can even use any of our metal filaments like copper or bronze for creating a steam punk keyboard!


Raised letters makes for a great accessibilty project or even add hot key icons for your favorite apps!

Project Expectations

This project is geared towards makers who have basic 3D printing skills and access to a 3D printer. The 3D parts were designed for small build platforms. Printing these parts can take up to 1 hour and about 2 grams of material.


Below is a full list of parts needed to build this project. Be sure to check out the featured products on the right sidebar.

Tools & Supplies

You'll need a couple of hand tools and accessories to assist you in the build. 


The size of each keycap is different so it's important to take note of all the angles and curvatures.

We'll started by taking measurements of the top and bottom of keycaps using calipers.

Loft sketches

In CAD software, we drew up simple sketches and lofted between them to create the basic shape.

Fillet edges

We then applied a small fillet of 1.25mm to the edges. 

Shell walls

A shell with a wall thickness of 1.25mm matches up with the original key cap.

Create curves

To create the curvature, we subtracted an oblong cylinder from the top surface, which is an easy way to create a slight contour. Take note of the angle, each row of keys are differnet. 

Keycap Stem: SLA

Measure the placement of where the internal support connects to the switch. Use the stem geometry found in our 123D design file or import the stemKey.stl file into your CAD program.

Keycap Stem: FDM

You'll want to adjust the tolerences on the stem when printing with FDM printers. Select the inside walls and push them out by about -.4mm.

Supports FDM

Add bottom support structures when printing with FDM printers. Use the custom support structures found in the 123D design file or import the stemSupport.stl file. You can also build your own by projecting the sketch profile of the connector surface.


Draw your artwork inside your favorite vector program or search online for .svg files. Import, extrude and combine it the the rest of the geometry to finish up the keycap design.


These are rather small objects with some really fine detail, so it might not look the best on an FDM 3D printer - So we think this is a good job for a resin based SLA machine.

With that said, the keycaps can print just fine on FDM printers. Translucent PLA colors aren't completely see through. As layers get stacked on top of each other, objects will start to look more opaque . We definitely recommend using SLA for higher quality prints, especially if you want the see through look.





25 microns:
2.5 exposure time

50 microns:
3.5 exposure time


@235 PLA
15% Infill
0.15 Layer Height
2 Shells
60mm/s Print Speed
120mm/s Travel Speed


25 mirons: 130 mins
50 microns: 40 mins



20 mins

Layout orientation: SLA

SLA printers mostly print upside down, so we'll need to have supports structures under the keycap stem. We can then lay it on the bed with the flat side of the keycap. 

To orient the part and add support structures we’re using MeshMixer.

Laying it flat on the side that has a decent amount of surface area, this will be the layer that sticks to the bed.

Meshmixer Support Settings

The default settings for support structures tend to generate non manifold geometry on very small parts. So we lowered the “Tip Height” option down to around 1.4mm - 0.70mm. This will avoid generating any weird geometry when creating the supports.

We’ll also drop the Tip Diameter to .3mm - .8mm so that it’s not so thick.

Now when we create supports they come out clean. A few more on the side of the connector should be enough for it to print properly.

Once thats looking good we’ll export the STL and upload to the printer.

Layout orientation: FDM

For FDM printers, you'll want to layout the keycaps with the top of the key facing upward. Fans on most printers should have enough cooling power to bridge the top wall without any problems.


You'll want to add custom supports for the kepcap stem when using FDM printers. Use the custom support structures found in the 123D design file or import the stemSupport.stl file. You can also build your own by projecting the sketch profile of the connector geometry.

This guide was first published on Apr 06, 2015. It was last updated on Mar 30, 2015.