The Snowflake Machine

The Snowflake Machine

The Snowflake Machine 628 472 mathgrrl

The Snowflake Machine uses random numbers, mathematical algorithms, computer code, and SCIENCE to create well over a billion unique and beautiful snowflakes. It’s a customizable design available for free on Thingiverse, and people around the world have already used it to generate almost four thousand unique snowflake models!

After going to the Thingiverse link, press “Open in Customizer” to get started. You’ll be able to choose a random seed value and then set various style parameters to control the branchy-ness, organic-ness, fuzziness, and length of your custom snowflake:

What can I make with the Snowflake Machine?

You can make snowflakes! Specifically, you can:

  • Quickly generate 3D-printable snowflakes using a random number seed
  • Use sliders to control the style and look of your snowflake in ten different ways
  • Create snowflake ornaments by selecting a hanging loop feature
  • Create giant snowflakes with lots of detailed design steps
  • Create micro-flakes, if you have an ultra-fine nozzle! (More on that soon…)

There are also demo snowflakes available to download as an STL files in the Downloads section, but it’s more fun to make your own!

How to Operate the Snowflake Machine

Here’s what to do:

  • Go to The Snowflake Machine in Thingiverse
  • Press “Open in Customizer”
  • Choose seed and style settings
  • Click “Create Thing”
  • Wait 2-3 minutes for the magic of creation to take place
  • Go to your list of Things and reload it until your new snowflake appears
  • Download, 3D print, enjoy, take a picture, post a Make
  • At this point there will still be over a billion more snowflakes to make, so keep going

How does the Snowflake Machine work?

The Snowflake Machine generates snowflakes with an algorithm that approximates the way that some kinds of snowflakes grow in real life.

Stellar plane crystal snowflakes start from a hexagonal prism seed and then grow outward with branches and plates whose size and positions are determined by the temperature and humidity of the atmosphere.

To mimic this process, the OpenSCAD code behind the Snowflake Machine generates sequences of random numbers based on a random seed that you select, and then grows a snowflake design by adding branches or plates in each step. The random number sequences and the style parameters whose values you select with the Customizer sliders act like the temperature and humidity of the air around the snowflake, making it more or less likely that different formations will be generated.

Tips and Tricks for Snowflake Design

Here is some advice for getting the most out of the Snowflake Machine:

  • Once you set a seed, you can change style sliders to alter the look and feel of the snowflake. Or you can change the seed again to generate more random snowflakes whose formation patterns are governed by your style slider settings.
  • If you like a particular seed, then write it down so you can come back to it later! Once you change the seed value your old seed will be lost forever, like a melted snowflake.
  • Mathematically perfect snowflakes (with “organic” set to zero) generate more quickly and also print faster. But snowflakes with a random/natural look (with larger “organic” parameter values) look more realistic and stylized.
  • Snowflakes with six steps and medium style settings will be approximately the size of the orange preview circle. You can go up to 11 steps, but the snowflakes usually look best when they have between 4 and 7 steps.
  • The best way to change the target size of your snowflake is to set the “target_diameter” parameter to your desired size. This will change the size of the orange target circle, and adjust lengths and widths accordingly in the algorithm.

It’s worth keeping in mind that sometimes things look good on the screen but don’t come out exactly how you expect when they are actually printed. If you keep track of your seed values, then you can iterate your design and make it better. Below is a photo that illustrates such an iteration, with the initial design on the left and the updated design on the right. Based on the outcome of the initial design, I turned down the “organic” and “fat” parameters and increased the “fuzzy” and “sharp” values to get a cleaner and more detailed design.

It’s a little bit difficult to see snowflake details in the small Customizer window within Thingiverse. If you’d rather work with a larger, faster preview then you can download a free copy of OpenSCAD, get the snowflakerator.scad file from the Downloads section of this Thing, and then generate random snowflakes directly in OpenSCAD. To do this, you modify the parameters in the editor on the left-hand side, and then press “F5” to see the result. It looks like this:

Don’t have a 3D printer, or want something fancy?

Custom snowflake designs made with the Snowflake Machine are now available in the Snowflake Collection at the geekhaus Shapeways store, like this set of six organic ornaments:

You can also order tiny frosty snowflake earrings:

But remember, you can just go to the Thingiverse link and design and 3D print your own custom snowflakes for free :)


Go to The Snowflake Machine on Thingiverse and press “Open in Customizer” to generate your own custom 3d-printable snowflakes for free! Or check out our Snowflake Collection on Shapeways if you want to order some pre-made designs. Happy Holidays!



As an Amazon Associate we earn from qualifying purchases, so if you’ve got something you need to pick up anyway, going to Amazon through this link will help us keep Hacktastic running. Thanks! :)

  • After making a snowflake, the process of creating a stl file freezes. The page shows it “processing” but even after a day, it does not complete.

    • I think you’re probably talking about the Thingiverse Customizer hanging/processing — it’s been notoriously broken for a couple of years now, I fear it will never be fixed. Look in the comments here, there are instructions for downloading the .scad file, opening in the free software OpenSCAD, and just processing the files yourself (easier than it sounds, I promise!). I wish Customizer was working because the Snowflake Machine is super fun in the Customizer!

  • I tried this in OpenScad and it freezes when it tries to render the snowflake. I cannot export to a .stl file. Please help

    • I set the parameters of the snowflake, then I clicked F5, then I click F6 to render. It takes about 2-3 mins. the rendering load bar freezes at the bottom and I cannot export it as a STL file. Please help. I am trying to use this for a STEM class with elementary students.

Leave a Reply

Back to top