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: https://www.thingiverse.com/thing:664377
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.
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.
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.
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.
All the samples on this app are printed by me and the vast majority are from subscription services like Maker Box and Mondo 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.
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.
I'm always accepting donations of filament I don't already have -- I only need about two (2) meters and can print 95% of filament out there (everything up to and including polycarbonate). I'm still working on getting an email address set up, but ping me on Twitter at @filamentcolors and we can figure out the details.
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.