Belle-Ve Bricks

Tailored Creations,
Unforgettable Impressions.

(Complete Guide) To Repurposing Old LEGO® Bricks

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

Do you have a bunch of LEGO® pieces that are mixed up in containers that are taking up valuable space in your house? Well, this blog is just for you! Here are some of the best ways that other LEGO® fans have made the most of their huge loose collections!

6 Tips on What to Do With Your Old LEGO® Bricks

1. Give Your Old LEGO® Bricks to Friends or Family

This is a perfect opportunity to get a niece, nephew, son, daughter, friend, or even foe into the LEGO® hobby.

Unfortunately, my level of imagination likens the same as a piece of wood, give me a bag of LEGO® and I will be able to make a wall, maybe even a house with no roof, but there are a lot of people out there who can take a bunch of LEGO® bricks and turn them into something amazing.

If you didn’t know these types of builds are called LEGO® MOCs, otherwise known as “My Own Creations”.

Let’s be honest LEGO® is not a cheap hobby to have either, most people will be ecstatic to be given some for free! 

2. Charity Shops Always Need More Stock

If you do not have anyone to give your old LEGO® bricks to and you aren’t looking to make a profit from passing it on why don’t you bag it up and take it to a local charity shop?

There are various charity shops around that would love to take your old LEGO® bricks off your hands. 

It doesn’t matter which charity you pick, they are all for a good cause at the end of the day. If you did have a charity in mind that means a lot to you, now you can do your bit by donating your old LEGO® bricks.

Some Charity shops we know of in the US are:

  • Goodwill Industries
  • Salvation Army
  • St. Vincent de Paul Thrift Store
  • ReStore

Some Charity shops in the UK:

  • St Michael’s Hospice
  • Age UK
  • Oxfam
  • British Heart Foundation
  • Age Concern

3. Donate to a Local School

Why not take the opportunity to reach out to the schools in your local area, tell them what you have, and see if they would be interested in taking your old LEGO® bricks as a donation to the school?

Unfortunately, school budgets are not as big as they should be and with the schools being forced to take on more and more children I am sure they would appreciate a donation of something such as LEGO.

I would advise that if you were going to do this that you check over your LEGO® bricks and remove any that are not in good condition. Remember it’s children who will be using your old LEGO® bricks so quality over quantity should be kept in mind.

If you have time perhaps you could give them a quick wash too, I have found putting them in a fine netted bag and then just running them through the shower works well. 

There are other methods too I have heard of, some people even put them in a machine-washable bag or pillowcase and pop them in the washing machine on a cold wash!

4. Organize Your LEGO® Bricks to Sell or Build MOCs

If you have some spare time why not get organized and sort and catalog them all?

Once you have them organized you will be able to make the most of what you have but do be prepared this is not a small job to take on. It takes time and patience to get this done, it’s worth it if you are a LEGO® enthusiast though!

We have a lot of LEGO® MOC designs in our MOC shop which you could buy and make endless amounts of new and unique sets.

If you haven’t heard of or experienced buying a MOC before and you are unsure how to buy the missing bricks to build the set you will be pleased to know that we have a video and written guide showing you how to buy the right bricks.

If you want to try it out why not get one of our FREE MOCs that we have to offer and then you can see how it goes?

We are here to help too so if you get stuck just drop us a message. As a sneak peek here are a few from our free collection.

Now could also be your time to start a Bricklink store, if you have a decent amount of LEGO® bricks spare then take the opportunity to organize yourself and start your own LEGO® business from home.

If you would like any tips to get you started, you can visit our blog ‘7 tips to be a successful Bricklink seller’.

5. Sell Your LEGO® on Platforms

If you want to get rid of it quickly there is the option to list it online as a bulk sale. There are a lot of people who love buying old LEGO® bricks by the kilo (or pound), at the right price they will bite your hand off for your old LEGO® bricks.

Do bear in mind when selling LEGO® in bulk you will not get anywhere near as much for it as you would if you sold the LEGO® bricks individually.

It depends on what you want and on your situation, if you are prepared to put the time into sorting your old LEGO® bricks and putting them into your Bricklink inventory or listing them on eBay separately you will make more money but it will take more time and effort.

If you want someone to just come to your house and take it off your hands then listing it online as a bulk or LEGO® haul is probably a good option for you.

6. Note: Do Not Recycle Your LEGO

Unfortunately, LEGO® bricks are not recyclable due to the types of plastics they are made with. These plastics are not accepted at many recycling centers.

Taking them to be recycled with the rest of your plastic will result in the LEGO® bricks sitting in a landfill for a very long time which is not what we want!

Conclusion

We would love to hear how you decided to handle your old LEGO® bricks!

If you found this blog useful we think this blog will be perfect for you when you are trying to think up different ways to use your old LEGO® bricks!

Build a LEGO® catapult, plant pot, or jewelry, these are just a few ideas you can find in our blog LEGO® Building Ideas that will keep you busy.

<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