Minifig Hair - Color history, statistics and their potential for starting a collection

Minifig Hair - Color history, statistics and their potential for starting a collection

Lately I got thinking about the minifig hair pieces. Specifically, I wondered about how many colors do they come in? And would it be a nice thing to collect and display? Specifically, could I create a collection with each hairpiece that introduces a new color?

Questions I couldn’t answer without firstly diving deep into the LEGO inventory records. Something I didn’t feel like doing manually, so I whipped up a bit of home-brewed code to do it for me. Code that I will talk about, but I suspect most readers just want to read about my findings so I will start with that.

Part One - The findings

Firstly, the statistics I will present here are based on data from Rebrickable. If you are more used to Bricklink (which I am), you will notice some differences in color names. Rebrickable lists their color names and the corresponding Bricklink names here. The data from Rebrickable was downloaded on 2024-03-29.

Below is a list of all the colors that a hairpiece has come in, which year the color was first used for hair, how many different hair pieces have been made in that color, how many sets had hair pieces in that color, and an early element ids in that color (if available, otherwise I used the design id).

Color Intro. Year Design Count Set count Elements
Black 1975 219 2309 Design 3625
Red 1975 31 173 Design 3625
White 1975 59 137 Design 3625
Brown 1979 8 240 390125
Light Gray 1999 3 10 4162404
Tan 1999 42 290 4124069
Green 2000 9 55 4142004
Earth Orange 2001 2 15 4153398
Dark Nougat 2002 1 4 4163862
Dark Orange 2002 76 569 4164111
Dark Red 2002 22 127 4162501
Light Brown 2002 1 4 4261146
Orange 2002 21 47 4169450
Dark Gray 2003 1 1 4192401
Light Bluish Gray 2004 30 210 4211740, 4226972, 4227658
Reddish Brown 2004 84 904 4153399, 4211158, 4211232, 4221601, 4589758
Dark Tan 2005 29 113 4274410
Bright Green 2006 11 24 4288258
Dark Purple 2006 12 30 4289562
Medium Blue 2006 1 8 4283922
Dark Brown 2008 115 921 4527065, 4535553
Metallic Gold 2008 1 2 4528606
Bright Light Yellow 2009 77 477 4546374, 4549990, 4550924
Medium Nougat 2010 47 289 4590833
Dark Bluish Gray 2011 18 58 4626932
Magenta 2011 18 34 4618249
Dark Pink 2012 9 14 4657388
Lime 2012 7 9 6016211
Yellow 2013 10 20 6093523
Bright Light Blue 2014 4 10 6056969
Flat Silver 2014 6 19 6058068
Pearl Gold 2014 16 17 6087014
Bright Light Orange 2015 5 12 Design 98385
Dark Azure 2015 8 25 6108536, 6112940
Dark Blue 2015 6 8 6103457
Dark Green 2015 4 6 6120877
Lavender 2015 8 26 6103003, 6115835
Light Aqua 2015 5 16 6103116
Trans-Brown 2015 1 1 6121802
Yellowish Green 2016 6 16 6136695
Bright Pink 2017 5 9 6197590
Nougat 2017 5 11 6185282
Sand Blue 2017 2 2 6181723
Trans-Red 2017 1 1 6181881
Blue 2018 8 16 Design 87995, 6219361, 6238054
Dark Turquoise 2018 5 20 6228551
Pearl Titanium 2018 1 1 6215010
Coral 2019 9 12 6263405
Glitter Trans-Light Blue 2019 1 1 6269134
Glitter Trans-Purple 2019 1 1 6270458
Medium Azure 2019 5 10 6257471
Medium Lavender 2020 3 10 6286505
Glow in Dark White 2021 1 1 6349977
Trans-Blue Opal 2021 2 8 6342589

A total of 53 different colors have been used to create hairpieces so far.

(Side note: The element 6215010 is cataloged as Pearl Titanium on Rebrickable but as Black on Bricklink. I don’t have access to the piece IRL so I can’t check who is right, but it is also cataloged as Pearl Titanium on Brickset, so I have decided that that is probably the right color.)

For a more pleasing visual representation, I have made this collage. Click here to display a larger version of it.

From the table you can easily see that The LEGO group were quite restrictive in color variations last century and only started to be more colorful the last 20 years. Below is a diagram that shows this more clearly.

In the beginning, we can thank Star Wars and Harry Potter for introducing new colors. Later the LEGO group introduced more colors through their own themes, but licensed themes still helped with contributing to new colors.

Selecting which pieces to use in the statistics

When collection the statistics, I have only looked at parts that are categorized in the “Minifig Headwear” category. This category includes a lot of different pieces that fits on a minifig head, not just hair pieces. So, I had to do additional filtering to try to only get hair pieces. The part needed to have the word “hair” in the name and also not include the following words:

  • “Hat”, “Helmet” or “Hood” - To exclude all pieces that are a combination of hair and headwear.
  • “Head Top” - To exclude pieces like 93556pr0001
  • “Bald Top” - To exclude bald head pieces (like 12893pr0047). They do have hair, but are categorized by the color of the scalp and that messes with the statistics.
  • “Lady Liberty” - Because 98377 is another combination of hair and headwear.
  • “Homemaker” - To exclude some old pieces that aren’t meant for a minifigure or minidoll.

I have also excluded the part 65785 for basically the same reason I have excluded Homemaker parts, it does not look like it is meant for a regular minifigure or minidoll.

There are probably more pieces that I would want to exclude, but I haven’t stumbled upon them while looking through my findings. So there might have ended up a few non-hairpieces in the statistics that might affect the numbers, so don’t take them as gospel.

(I do realize that picking out which pieces to include or not has been a bit arbitrary. I’m sure there are people that have an option about my picks. They are all welcomed to make their own statistics.)

Collecting them

I have not gone through all the hair pieces (not even all the ones in the collage above), but I have yet to discover a piece that is super rare or very expensive.

The only piece I found that would cost more than 10 USD is the 3625 piece in white. And in second place would be the 29223 piece in Trans-Red.

Availability wise, the 76917pr0002 piece was the one that looked the most rare as there weren’t many for sale. 98385 in Bright light orange also felt a bit rare (It has only been available through a DVD/Blu-ray release). But neither are unobtainable as of writting this.

And by randomly going through colors and hair pieces, the Mohawk 93563 in Lime was both the most expensive and rarest I could find.

So getting hold of them today does not look like a hard task if you are already in the habit of buying LEGO regularly. That is, if you can abstain from buying other forms of LEGO to afford all the hair pieces.

Displaying them

So lastly we have the question of how to display the hair pieces. Just having the pieces in a box at home is not very fun for me. If I’m going to collect them I need a way to show them of for fellow AFOLs and exhibition visitors.

So how would an interesting way to display them be? Different hair pieces are interesting from different angles, with many pieces interesting from several different viewpoints.

Below is how far I got with my imagination, but I’m sure someone else out there can come up with something better.

Display example 1
Display example 1
Display example 2
Display example 2

The first example is compact and the cheapest of the two to build. And it wouldn’t take up much space while displaying it at home.

The second one I like more, but will be too big to have at home. The design works better at an exhibition and will also make it easy for me to pick up one minifig to show off a specific hair piece.

Both do however suffer from the same problem for me. They both require me to buy a bunch of new LEGO pieces that I probably won’t find use for in later products. I don’t like to buy pieces if I don’t know that I will reuse them in the future. (The reusability of LEGO pieces is a big reason why I use LEGO as a creative output)

Part Two - Getting hold of and work with the data

As mentioned above, I found that Rebrickable had everything I needed. Thanks to them, I was able to get the data as needed through a bunch of text files available for download at their site. They also have a nice graph over how the data in the files are related.

But despite the graph, I had some confusion about how to connect the data.

Firstly, I got confused about how to connect a part for a minifig to a set. If you have a hair piece and want to see which sets it comes in, you can find one or several inventory_ids for the part in the inventory_parts.cvs file. These ids can be for inventories of both sets and minifigures (and for a hair piece it will most likely only be for minifigures).

If it is for a minifig, I need to look up the inventory_ids in the inventories.cvs file (id column) and find the fig_num in the set_num column. Then search for the fig_num in the inventory_minifigs.csv file to find the inventory_ids for inventories in inventories.cvs that have that figure. And with those inventory_ids I can find the set numbers in the set_num column for sets that have the hair piece I’m collecting stats for. (Confused? yeah, you probably need to have the files open to follow along with what I just wrote)

And the other thing that messed with me when working with the data, was that not all parts in parts.csv have an element id in the elements.cvs file. This was a faulty assumption on my end. Some of the early parts and parts that come in things other than regular sets don’t always have any. So I couldn’t use the the elements.cvs file to find all color variations a piece has been produced in. For that I needed to parse through inventory_parts.cvs.

The coding logic

First I collect all the parts that are in the “Minifig Heads” category from the parts.cvs file. Then I parse through inventory_part.cvs to find all the color variations that are used and collect them in one big list. (in this step I also filter out parts that are unwanted, as described above.)

With this big list of parts, I go through it to get the Element and Design Ids from elements.cvs and also go through inventory_part.cvs again together with inventory_minifigs.cvs and sets.csv to collect which sets the part come in. Getting hold of which sets the piece came in gives me which year it was first released.

I realize while typing out the logic that it can likely be optimized, but I leave that up for someone else. And I can say that, because I for once have uploaded the code to Github!

Source code


(I have no plans on updating this project, but I don’t make any promises one way or the other.)

Part Three - The conclusion

Have I decided to start collecting hair pieces? No, not at the moment.

Currently I don’t find the pieces to be exciting enough to start with and I struggle to find a way to display them in a nice way that won’t cost me too much.

So I have decided to focus on some other LEGO projects. And I’m hoping that I will be able to show off a different type of collection I have started on this year. So stay tuned!