Getting a Vintage Custom Keycaps Template Right

I spent about six months trying to reverse-engineer OEM and DSA profiles from scratch before I stopped doing it manually and just started building reusable templates. The first time I printed a set from my own design, three of the eight keys were about 0.3mm too short on the stem height and the legends were misaligned by nearly a millimeter. I learned that quickly enough. Here is how I actually approach it now.

Vintage Custom Keycaps Template

Start with a vector program. Illustrator, Inkscape, whatever you have. I use Inkscape because it is free and it handles Bezier curves without charging me a monthly subscription. Set your document size to exactly what the key switch pattern demands. For Cherry MX-compatible stems, which is what most vintage clones use, the center post is 5mm square and the side stabilizers are 3.5mm apart on standard keys. Map those out first. Don't skip this. People who skip this end up with caps that sit crooked or wobble when they type. The profile is what separates a template that works from one that looks good in a render and falls apart in production. Vintage keyboards generally fall into a few distinct profile families: OEM, DSA, SA, MT3, and XDA. OEM is the most common on 1980s IBM and Compaq machines. It has that slightly taller center row with a gentle forward slope. DSA is boxy and uniform across all rows, which makes it easier to template because every key shares the same height curve. SA is the tall cottage cheese one that everyone loves until they try to build it and realize the stem clearance calculations get complicated fast. For the keycap outline itself, I draw the top surface first at a 1:1 scale. Measure from actual keycaps when you can. I keep a handful of used Cherry G80-3000 caps on my desk for reference. The curvature matters more than you think. A flat top on a vintage-style cap looks wrong the moment it sits next to an original. The slope should be subtle — maybe a 2 to 4 degree angle across the length of the key. Use the ellipse tool or the Bezier curve tool to match that arc. Then extrude downward for the stem area, accounting for the fact that the stem needs to clear the PCB by about 1.5mm and still engage the switch post by at least 3mm for stability.

Legend placement is where most people mess up. On vintage keyboards, legends are centered both horizontally and vertically within the keycap face, but not always geometrically centered because the keycap itself is curved. I use a secondary reference grid rotated to match the keycap's slope angle, then place legend shapes relative to that grid. If you align legends to a flat horizontal grid on a curved surface, they will appear tilted when the cap is installed. This was the exact problem I hit with my first SA-profile template — the numbers on the numpad looked rotated when mounted, even though they looked fine on screen. For 3D printing, export your template as an STL or OBJ. I prefer STL for keycaps because the file size is smaller and most slicing software handles it without issues. Set your slice height to 0.1mm or 0.12mm. Anything coarser and the curve on the keycap face will look faceted, which is noticeable on matte finishes especially. Print direction matters too. Print the cap upright with the stem pointing down, not on its side. Printing on the side creates support artifacts on the legend area that are a pain to clean up and can affect fitment. If you are sending files out to a resin printer farm, ask for 3K or 4K resolution at minimum and request that they use gray or black resin. White resin shows every layer line and makes a vintage aesthetic look cheap. The resin type also affects dimensional accuracy. Some resin brands shrink differently during curing. I had a batch from a printer in Poland come out about 0.15mm shorter in stem length than my design specified because they used a high-shrinkage resin without compensating in the model. I learned to specify resin type and add a 0.2mm compensation factor to all stem dimensions in my templates going forward.

Get the Full Details

Vintage Car Travel Art Free Stock Photo - Public Domain Pictures
Vintage Car Travel Art Free Stock Photo - Public Domain Pictures

Material and Fit Considerations

PBT is the standard for vintage-style keycaps because it has the right texture and durability. ABS is cheaper and prints finer detail but yellows faster and feels slippery. If you are home printing, PLA+ works for prototypes but it scratches easily and can deform under prolonged keypress force on larger keys. I only use PLA+ for test prints to verify dimensions before committing to PBT filament. The stem-to-switch fit needs to be tight enough that there is no lateral wobble but loose enough that the cap slides onto the stem without excessive force. A nominal 5mm square stem with 0.05mm clearance on each side — meaning your model stem is 4.9mm square — works for most Cherry MX clones. If you are designing for Alps switches, which have a different stem shape entirely, you need a completely different template. Alps stems are rectangular with rounded corners and measure roughly 4.2mm by 5.5mm. Mixing these up ruins the whole project. For spacebars and other oversized keys, you need to account for stabilizer wire clearance. The template should include cutouts or recesses where the stabilizer bar passes through. I usually leave about 1mm of material around the stabilizer hole for structural integrity. Too thin and the keycap cracks under typing pressure. Too thick and the stabilizer wire binds and the key feels mushy.

Common Pitfalls

One thing nobody warns you about is the difference between the keycap profile and the keycap height. The profile describes the curvature of the top surface. The height is measured from the bottom of the stem to the highest point on the keycap face. These are independent measurements. You can have the same profile at different heights, which is why OEM low, OEM mid, and OEM tall all exist. Make sure your template specifies which height variant you are targeting, because a cap designed for OEM mid will sit too low on a board expecting OEM tall and the legends will be hard to read. Another issue is keyboard span. If you are making a full-size template that covers 104 keys, the file gets heavy and the chance of a single error propagating across the whole set increases. I usually build templates in groups — alpha block, function row, numpad, modifier row — and validate each group separately before assembling them. This way if the numpad stem dimensions are wrong, I only have to redo that section instead of the entire layout. The real limitation of a DIY Vintage Custom Keycaps Template approach is consistency across a full set. Even with careful measurement, slight variations in printing temperature, filament batch, and bed adhesion can cause individual keys to vary by fractions of a millimeter. For a 60% keyboard with thirty-odd keys, that is usually tolerable. For a full-size tenkeyless build with over a hundred keys, the inconsistencies add up and you will notice some keys sitting higher or lower than their neighbors. In those cases, a professionally manufactured set from a foundry like Drop or Keybo is probably the better path, even though it costs more. The template method shines brightest for small batches, custom layouts, or one-off replacement keys where you need something specific that is not available commercially.