One of the most annoying things in 3D printing is ordering filament, waiting for it to arrive, and then finding out that it's completely the wrong color for the project you wanted it for. Some manufacturers try to get around this by putting Pantone colors on their spools, but certainly not everyone does this. (If they did, this app probably wouldn't exist.)

Every filament manufacturer has pictures of their product online. It's always super easy to compare and contrast different filament colors to make sure they'll work for whatever you're planning... as long as you're buying everything from the same manufacturer. What do you do if you want to buy from two different places?


Get filaments from lots of different manufacturers, print with them, and photograph the results under similar conditions. The point of this application is not to show the "true color" of any given filament -- that requires far more equipment than I have the budget for. What this app does is allow you to compare and contrast different filament colors from different manufacturers using pictures taken under similar lighting conditions and similar equipment. It's an easy way to find that perfect blue you've been looking for that looks great with your favorite brand of gold filament.

Looking for the file I use? Find it here:


How does it work?

All the images are taken in the same basic way using the same setup and same equipment. For every swatch, the image of the front is cropped, then the average color in the image (called the 'dominant color') is extracted from the image. This is used to create the "pure" hex color, and the hex color is what's used to compare to other swatches and help you figure out which filaments you like.

If you're interested in seeing how all this comes together into a application (and some of the crazy awesome math that I learned while putting this together), all of the source code for the app is publicly available on Github. Just click the link in the footer on any page of the app.

Why not Pantone?

Not everyone's monitor is calibrated and not everyone has access to a recent print of the Pantone color book. With an uncalibrated monitor, I could provide all the Pantone IDs in the world but they would all look wrong. By using relational color instead of real-world color, we still end up with a good result regardless of technological or physical color perception.

Dear God, why?

It was very frustrating to me that I couldn't tell ahead of time how different filaments would look when I was getting ready to purchase something specifically for a project. After all, like most of us, I'm not made of money and 3D printing is not a cheap hobby. Buying a color that defies expectations is not fun, so I designed this app to help out my own projects and also help others with planning their upcoming projects.

Why are the complement sections sometimes hilariously wrong?

Computers don't see color the same way humans do; there are many very long and very involved research papers on the subject, none of which I'm qualified to speak on. It may also come down to the fact that my collection is still growing and I may not have the right plastic already photographed in the right color. Some resources that might be interesting.

Where do the samples come from?

All the samples on this app are printed by me and the vast majority are from subscription services like the Maker Box. Others are from spools that I've purchased over the years and others are spools or color samples that were gifted to me. I try to not recommend or disparage any specific filament here (with one notable exception); other places can do a far better job of reviewing filament than I ever could.

What runs this app?

This app is served on Digital Ocean, the backend is written in Python's Django framework, and the HTML / CSS is lovingly hand-written using Bootstrap as a guide. Cost wise, it doesn't take much -- just a few dollars every now and again. To offset that, I'm a member of the Amazon Affiliate program. Clicking on any of the "Buy on Amazon" links scattered throughout the app will provide a small kickback that I use solely for keeping the app running and occasionally buying sample packs to add new materials to the app. Interested in learning more? Take a look at a livestream I did on YouTube for as part of VRRF2020 weekend here!

I want to help!

Take a look at the donations page and ping me on twitter at @filamentcolors if you have any questions!

Licensing Information

All of the source code for this application, found on Github, is licensed under the MIT license.
All images, text, and data found on the production version of this app is licensed under Creative Commons Attribution 4.0.