matt@bellevebricks.com

Belle-Ve Bricks

Building Brands,
Brick by Brick.

How to Build a Minifigure LEGO Detailed Guide
How to Build a Minifigure LEGO Detailed Guide

How to Build a Minifigure (Detailed LEGO® Guide)

Trusted by Over 392 Clients
Custom model
Bring Your Idea to Life

LEGO Minifigures are incredibly popular amongst the LEGO® community and because of this it leads a lot of people to wonder how they can build a minifigure of their own design. In this post you will learn everything there is to do with LEGO® minifigures and how to build your own custom minifigure.

Complete Guide to Buying Custom LEGO Minifigures

What is a LEGO® Minifigure?

A LEGO® minifigure or commonly known as “fig”, “minifig” or “sig fig” are little LEGO® figures made from a yellow plastic. They are typically made from 7 to 10 pieces and they stand at 1.5 inches (4cm).

The LEGO® minifigure was designed by Danish LEGO® designer Jens Nygaard Knudsen, the LEGO® minifigure design being patented in the US on 18th December 1979. Since then the original design has seen hundreds of variations which cover CMFs (Collectible Minifigures), LEGO® themes, movies and games.

A basic LEGO® minifigure is made from 6 pieces, these are the head, torso, arms, hands, hips, and legs. However it is typical that only 3 pieces will need to be put put together. These are the head, torso and legs.

What is a LEGO® Sig Fig?

It is common within the LEGO® community for people to create a form of LEGO® Minifigure called “Sig Fig”, this translates to “Signature Minifigure”. These are typically created by LEGO® fans who want to express themselves in the form of a LEGO® Minifigure, they will pick the appropriate pieces to make their Sig Fig and will normally have accessories that the LEGO® fan feels connected to or they feel reflects on their own personality.

As an example, this is my Sig Fig!

belleve bricks sig fig  scaled e

What’s the Difference Between LEGO® Figures and Minifigures?

The main differences between a LEGO® Figure and LEGO® Minifigure are:

  • A LEGO® Figure has the ability to move in more places than a LEGO® Minifigure.
  • A LEGO® Figure’s legs do not move independently. It can bow but not take individual steps.
  • The LEGO® Minifigure has the ability to change torso and legs whereas a LEGO® Figure has the pieces fitted in a way which makes this impossible without breaking it.
  • The proportions of a LEGO® Figure are very different, it has big eyes, long arms that typically come away from the body and long more realistic legs.

How Much Does it Cost to Build a Minifigure?

The price to build a minifigure varies depending on the method you take. The pieces that you use to build your minifigure are all differently priced but generally I would expect it to cost between £5 to £35 ($8 to $45).

How Many Series of LEGO® CMF Are There?

The first CMF, otherwise known as Collectible Minifigures were released in May 2010 with each series containing 1 – 16 LEGO® Minifigures, that is until 2021 where it changes to 1 – 12 LEGO® Minifigures per set.

Each LEGO® Minifigure is sealed in a foil pack

To date there are 39 series of LEGO® CMFs, with a new series being released typically every 3 to 4 months. If you would like to see a full list of all LEGO® CMF series including each individual LEGO® Minifigure click here.

How to Identify Specific Minifigures

I think we have all been in the situation where you spend a fortune trying your luck to get the last LEGO® Minifigures of the series so you have the full set, but yet you constantly get the same ones you already have. This can be incredibly frustrating, don’t worry though as there is a technique you can use to stop having to rely on luck!

Have you heard of the touch and feel method? Well if not then you are going to love this…

It is exactly as it sounds, you literally pick up a CMF pack and feel around the insides to get a clue at what’s inside. Sounds impossible do I hear you say? Well it is at the beginning but the more you do it the easier it gets.

What some people don’t realise is that each LEGO® Minifigure has a unique accessory, that is one way you can identify the LEGO® Minfigure. Another thing to feel for are distinguishable features, so perhaps its Gonzo from the LEGO® Muppets CMF, he has a long nose and a chicken as his accessory.

Check out the below YouTube video if you would to see someone identifying the LEGO Minifigures from the LEGO® Muppets CMF Series.

Can You Design Your Own LEGO® Minifigure?

You absolutely can design your own LEGO® Minifigure, there are a few ways to do this, which one you pick really depends on what you want. Are you doing it for fun? Do you want a custom designed LEGO® Minifigure? Perhaps you want to add a LEGO® Minifigure to a LEGO® MOC you have created?

Methods to Build a Minifigure

As I mentioned there are a number of ways you can build a Minifigure, here are a list of methods to get your started.

Sources to Build a Minifigure

Minifigs.me

This is a really fun way to build a minifigure, they have a wide range of parts and accessories. Let’s take a look at how you can build a minifigure using their website.

Visit the Minifigs.me website and navigate to ‘Create Your Own’ by clicking the link it the menu, you will now be able to click the ‘Create a Minifigure Now’ button.

minifigs.me start how to build a minifigure

Now here comes to fun part! You will notice that down the left there are 6 options you can choose from to build your minifigure. With each piece of your minifigure you will be able to pick from loads of different parts.

Once you select your pieces you will see on the left that it shows them in the same order as you would put them together in, this really helps see what the end result will be.

minifigs.me my project how to build a minifigure

Now you have selected all the pieces you want the last step is to click ‘Figure Complete’ and then move on to paying for your new minifigure!

Using Stud.IO to Digitally Design a Minifigure

If you are interested in digitally creating your LEGO® Minifigure then you can actually use the Stud.io software designed by Bricklink.

However do be aware that there are limitations in pieces when designing them digitally but it does come in handy if you are designing a LEGO® MOC and you want to use a LEGO® Minifigure for scale or to see what they would look like placed inside or around your MOC.

I have taken some screenshots from Stud.io with the process of digitally building your LEGO® Minifigure.

Choosing the Head
studio LEGO® minifigure build a minifigure head
Choosing the Body
studio LEGO® minifigure build a minifigure body
Choosing the Legs
studio LEGO® minifigure build a minifigure legs
Choosing the Hair (or Hat)
studio LEGO® minifigure build a minifigustudio LEGO® minifigure build a minifigure hairre hair
Putting All of the Pieces Together
studio LEGO® minifigure build a minifigure all

Why Are LEGO® Minifigures So Popular?

LEGO Minifigures are a highly collectable item and because of that it makes them really appealable to those who like to collect LEGO® rather than buy and build LEGO® sets.

Other reasons why LEGO® Minifigures are so popular are:

  • LEGO fans want to collect all Minifigures from the LEGO® CMF Series
  • Some LEGO® Minifigures are only released in small amounts
  • A lot of LEGO® Minifigures are based on popular themes (Disney & Star Wars for example)
  • There are rare Minifigures such as Mr Gold who are worth a lot of money
  • LEGO investors like to buy exclusive minifigures to resell at a later date

Examples of Custom Designed LEGO® Minifigures

If after reading this post you have decided that building your own LEGO® Minifigure is not for you, or perhaps the design you are after has already been done on a website such as Minifigs.me so you have bought that instead. Any option you take is fine as long as you end up building a Minifigure that’s perfect for you!

Seeing how you now know everything there is to do with building your own LEGO® Minifigure I thought it would be nice to share some of my favourite custom designed LEGO® Minifigures that you can find on Minifigs.me.

LEGO Minifigure Eddie Munson – Stranger Things S4

I won’t put in any spoilers in case you haven’t seen S4 of Stranger Things but it has to be said that Eddie Munson has to be one of my favourite characters in S4.

They have captured Eddie’s long hair perfectly and the dungeons and dragons / Hellfire Club t-shirt are a nice touch too.

You can get this custom designed LEGO® Minifigure from Minifigs.me by clicking here.

LEGO Minifigure War God

If you have played the Gods of War video game you would immediately recognise this character. I love this LEGO® Minifigure, the oversized swords, markings on his chest and face and even down to the detail on legs. This shows the type of quality custom LEGO® Minifigures you can get from Minifigs.me.

You can get this custom designed LEGO® Minifigure from Minifigs.me by clicking here.

Conclusion

Getting custom designed LEGO® Minifigures is a really fun way to build your LEGO® collection, whether you want to build a minifigure that is designed by you or buy a pre-designed LEGO® Minifigure like you can see in the examples above the end result is still great! If you like to collect LEGO® Minifigures then this is a great way to build your collection with unique minifigures that otherwise you wouldn’t be able to get your hands on.

<div class="badge-base LI-profile-badge" data-locale="en_US" data-size="large" data-theme="dark" data-type="HORIZONTAL" data-vanity="ferdi-vol" data-version="v1"><a class="badge-base__link LI-simple-link" href="https://www.linkedin.com/in/%E2%9C%85-ferdi-vol-corporate-gifts/?trk=profile-badge"></a></div>
/* Auto generated, hash = 5dceu9kevqjdyuy2uw1atqrsu */
//TODO: Break this file down so that we can actually unit test it.
(function(window) {
  /**
  * Renders all unrendred LinkedIn Badges on the page
  */
  window.LIRenderAll = function () {
    var CALLBACK_NAME     = 'LIBadgeCallback', //Must match callback on helpers.js
        BADGE_NAMES       = '.LI-profile-badge, .LI-entity-badge',
        // TODO -- tracking param for other badge types
        TRACKING_PARAM    = 'profile-badge',
        responsesReceived = 0, //Keeps track of number of responses recieved for proper cleanup when finished
        expectedResponses = 0, //Keeps track of number of responses to expect
        scripts           = [ ], //Keeps track of scripts added for proper cleanup when finished
        childScripts      = {}, //Keeps track of child scripts to render
        badges            = Array.prototype.slice.call(document.querySelectorAll(BADGE_NAMES));

    var i, len, badge, rendered;
    for (i = 0, len = badges.length;  i < len; i++) {
      badge    = badges[i];
      rendered =  badge.getAttribute('data-rendered');
      if (!rendered) {
        expectedResponses++;
        badge.setAttribute('data-rendered', true);
        renderBadge(badge);
      }
    }

    function isCNDomain() {
      if (typeof window !== "undefined") {
        var hostName = window.location && window.location.hostname ||  '';
        return (/linkedin(-ei)?.cn$/).test(hostName);
      }

      return false;
    }

    function generateUrl(isEI) {
      var domainPrefix = isEI ? 'https://badges.linkedin-ei' : 'https://badges.linkedin';
      if (isCNDomain()) {
        return domainPrefix + ".cn/";
      }

      return domainPrefix + ".com/";
    }

    function getBadgeKeyQueryParams(badge) {
      return Array.prototype.slice.call(badge.attributes).filter(function (attr) {
        return attr.name.lastIndexOf('data-key-', 0) !== -1;
      }).map(function (attr) {
        // Most browsers automatically lowercase the attribute name when its being read
        // We are calling lowercase on it again to ensure consistency for any browsers that are lagging behind.
        return encodeURIComponent(attr.name.replace('data-', '').toLowerCase()) + '=' + encodeURIComponent(attr.value);
      });
    }

    /*
    * Renders a single badge on the page
    * @param badge: div element of badge to render
    */
    function renderBadge(badge) {
      var size       = badge.getAttribute('data-size'),
          locale     = badge.getAttribute('data-locale'),
          type       = badge.getAttribute('data-type'),
          theme      = badge.getAttribute('data-theme'),
          vanity     = badge.getAttribute('data-vanity'),
          version    = badge.getAttribute('data-version'),
          isEI       = badge.hasAttribute('data-ei'),
          entity     = badge.getAttribute('data-entity'),
          isCreatePage = badge.hasAttribute('data-iscreate'),
          uid        = Math.round(1000000 * Math.random()),
          baseUrl = generateUrl(isEI),
          queryParams = [
            'locale=' + encodeURIComponent(locale),
            'badgetype=' + encodeURIComponent(type),
            'badgetheme=' + encodeURIComponent(theme),
            'uid=' + encodeURIComponent(uid),
            'version=' + encodeURIComponent(version)
          ],
          url;

      if (version === 'v2') {
        baseUrl += 'view';
        queryParams.push('badgesize=' + encodeURIComponent(size));
        queryParams.push('entity=' + encodeURIComponent(entity));
        queryParams = queryParams.concat(getBadgeKeyQueryParams(badge));
      } else {
        baseUrl += 'profile';
        queryParams.push('maxsize=' + encodeURIComponent(size));
        queryParams.push('trk=' + encodeURIComponent(TRACKING_PARAM));
        queryParams.push('vanityname=' + encodeURIComponent(vanity));
      }

      if (isCreatePage) {
        queryParams.push('fromCreate=true');
      }

      url = baseUrl + '?' + queryParams.join('&');
      badge.setAttribute('data-uid' , uid);
      jsonp(url); //Calls responseHandler when done
    }

    /**
    * Handles a response from the server. Finds badge matching badgeUid and inserts badgeHtml there
    * @param badgeHtml: String representing contents of the badge
    * @param badgeUid: UID of the badge to target
    **/
    function responseHandler(badgeHtml, badgeUid) {
      responsesReceived ++;

      var i, badge, uid, isCreate;
      var defaultWidth = 330 // max possible width
      var defaultHeight = 300 // max possible height

      for (i = 0, len = badges.length; i < len; i++) {
        badge = badges[i];
        // isCreate needed to prevent reloading artdeco script tag
        isCreate = badge.getAttribute('data-iscreate');
        uid   = parseInt(badge.getAttribute('data-uid'), 10);
        if (uid === badgeUid) {
          var badgeMarkup = `<body>${badgeHtml}</body>`
          var iframe = document.createElement('iframe');
          iframe.onload = function() {
            var iframeBody = iframe.contentWindow.document.body;
            // 5 px buffer to avoid the badge border being cut off.
            iframe.setAttribute('height', (iframeBody.scrollHeight || defaultHeight) + 5);
            iframe.setAttribute('width', (iframeBody.scrollWidth || defaultWidth) + 5);
          };
          iframe.setAttribute('frameBorder', '0');
          iframe.style.display = 'block';
          badge.appendChild(iframe);
          iframe.contentWindow.document.open();
          iframe.contentWindow.document.write(badgeMarkup);
          iframe.contentWindow.document.close();
          replaceScriptTags(badge, isCreate);
        }
      }
      tryClean();
    }

  // These functions are needed because badge markup is added via innerHtml property which does not run script tags
  function replaceScriptTags(node, isCreate) {
    if (shouldReplaceNode(node, isCreate)) {
      node.parentNode.replaceChild(cloneScriptNode(node), node);
      childScripts[node.src] = true;
    } else {
      var i = 0,
          children = node.childNodes;
      while (i < children.length) {
        replaceScriptTags(children[i++], isCreate);
      }
    }
    return node;
  }

  function shouldReplaceNode(node, isCreate) {
    return isScriptNode(node) && !childScripts[node.src] && (!isCreate || (isCreate && !node.getAttribute('data-isartdeco')));
  }

  function isScriptNode(node) {
    return node.tagName === 'SCRIPT';
  }

  function cloneScriptNode(node){
    var script  = document.createElement("script");
    for( var i = node.attributes.length-1; i >= 0; i-- ) {
      script.setAttribute( node.attributes[i].name, node.attributes[i].value );
    }
    return script;
  }

    // Gets all incoming responses
    window[CALLBACK_NAME] = responseHandler;

    /**
    * Tries to clean added tags
    **/
    function tryClean() {
      //Clean up after all requests are done..
      //Accounts for people including script more than once
      var done = (responsesReceived >= expectedResponses && expectedResponses > 0) || responsesReceived >= badges.length;
      if (done) {
        delete window[CALLBACK_NAME];

        // remove all script tags
        scripts.map(function(script){
          document.body.removeChild(script);
        });

      }
    }

    /*
    * Makes Jsonp request, responses handles by CALLBACK_NAME
    * @param url String: url of server to make request to
    */
    function jsonp(url) {
      var script = document.createElement('script');
      script.src = url;
      scripts.push(script);
      document.body.appendChild(script);
    }
  };

  if (document.readyState === 'complete') {
    window.LIRenderAll();
  } else {
    window.addEventListener('load', window.LIRenderAll, false);
  }

})(window);
Popular Posts