Belle-Ve Bricks

Tailored Creations,
Unforgettable Impressions.

LEGO Lord of the Rings
LEGO Lord of the Rings

15 Best LEGO® Lord of the Rings Sets

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

The Lord of the Rings has been since the first book was released in 1954, we have seen books, movies, games and the best thing of all… LEGO® Lord of the Rings! We have gone through all of the LEGO® Lord of the Rings sets and listed the best LOTR LEGO® sets just for you.

On top of this, we have also found a number of LEGO® MOC Lord of the Rings sets too, today you can ignore Gandolf, we grant you the right to pass and read this post!

The Best LEGO® Lord of the Rings Sets

The LEGO® Lord of the Rings sets we released over a relatively short timeframe, between June 2012 and July 2013 there were 16 Lord of the Rings LEGO® sets released.

Closely linked to the Lord of the Rings they also released 24 The Hobbit LEGO® sets between 2012 and 2014.

Let’s take a look at the most popular LEGO® Lord of the Rings sets, plus one or two The Hobbit sets too. Here we go.

All LEGO® Lord of the Rings Sets Video

1. LEGO® Tower of Orthanc (10237)

LEGO Lord of the Rings Tower of Orthanc

Set Number: 10237
Theme: Lord of the Rings
Year Released: 2013
No. Pieces: 2359
RRP: £169.99 / $199.99 / 199.99€

2. The Battle of Helm’s Deep (9474)

LEGO Lord of the Rings Battle of Helms Deep

Set Number: 9474
Theme: Lord of the Rings
Year Released: 2012
No. Pieces: 1368
RRP: £99.99 / $129.99

3. The Mines of Moria (9473)

LEGO Lord of the Rings Mines of Moria

Set Number: 9473
Theme: Lord of the Rings
Year Released: 2012
No. Pieces: 776
RRP: £69.99 / $79.99

4. Uruk-Hai Army (9471)

LEGO Lord of the Rings Uruk

Set Number: 9471
Theme: Lord of the Rings
Year Released: 2012
No. Pieces: 257
RRP: £29.99 / $29.99

5. Attack On Weathertop (9472)

LEGO Lord of the Rings Attack on Weathertop

Set Number: 9472
Theme: Lord of the Rings
Year Released: 2012
No. Pieces: 430
RRP: £49.99 / $59.99

6. The Council of Elrond (79006)

LEGO Lord of the Rings Council of Elrond

Set Number: 79006
Theme: Lord of the Rings
Year Released: 2013
No. Pieces: 243
RRP: £29.99 / $29.99

7. An Unexpected Gathering (79003)

LEGO Lord of the Rings The Hobbit Unexpected Gathering

Set Number: 79003
Theme: The Hobbit
Year Released: 2012
No. Pieces: 652
RRP: £59.99 / $69.99

8. The Lonely Mountain (79018)

LEGO Lord of the Rings Lonely Mountain

Set Number: 79018
Theme: The Hobbit
Year Released: 2014
No. Pieces: 866
RRP: £99.99 / $129.99 / 129.99€

9. Elrond (5000202)

LEGO Lord of the Rings Elrond

Set Number: 5000202
Theme: Lord of the Rings
Year Released: 2012
No. Pieces: 6
RRP: £0.00 / $0.00

10. Pirate Ship Ambush (79008)

LEGO Lord of the Rings Pirate ship ambush

Set Number: 79008
Theme: Lord of the Rings
Year Released: 2013
No. Pieces: 756
RRP: £89.99 / $99.99

11. Shelob Attacks (9470)

LEGO Lord of the Rings Shelob attacks

Set Number: 9470
Theme: Lord of the Rings
Year Released: 2012
No. Pieces: 227
RRP: £19.99 / $19.99

12. The Orc Forge (9476)

LEGO Lord of the Rings Orc Forge

Set Number: 9476
Theme: Lord of the Rings
Year Released: 2012
No. Pieces: 363
RRP: £39.99 / $39.99

13. Battle at the Black Gate (79007)

LEGO Lord of the Rings Battle at the Black Gate

Set Number: 79007
Theme: Lord of the Rings
Year Released: 2013
No. Pieces: 656
RRP: £59.99 / $59.99

14. Gandalf Arrives (9469)

LEGO Lord of the Rings Gandalf Arrives

Set Number: 9469
Theme: Lord of the Rings
Year Released: 2012
No. Pieces: 883
RRP: £11.99 / $12.99

15. The Wizard Battle (79005)

LEGO Lord of the Rings Wizard Battle

Set Number: 79005
Theme: Lord of the Rings
Year Released: 2013
No. Pieces: 113
RRP: £11.99 / $12.99

List of LEGO® Lord of the Rings MOCs From Our Website

LEGO Lord of the Rings MOCs

1. LEGO® MOC Lord of the Rings – Three is Company

LEGO Lord of the Rings LEGO® MOC LEGOMOCLOC three is company

The third chapter of Tolkien’s fantastic world: The Lord of the Rings. This LEGO® MOC shows Frodo, Sam, and Pippin at the beginning of their travel to Buckburg!

2. LEGO® MOC Lord of the Rings – In the House of Tom Bombadil

LEGO Lord of the Rings LEGO® MOC LEGOMOCLOC  In the house of tom bombadil

Another chapter of Tolkien’s fantastic world: The Lord of the Rings. Hobbits and Tom Bombadil: the ring of power seems to be ineffective for someone…

3. LEGO® MOC Lord of the Rings – At the sign of the Prancing Pony

LEGO Lord of the Rings LEGO® MOC LEGOMOCLOC  At the sign of the Prancing Pony cover

Another chapter of Tolkien’s fantastic world: The Lord of the Rings. At the sign of the Prancing Pony Inn! Would you like a beer? And who is the stranger?

Conclusion

I think you would agree that even though there are not many LEGO® Lord of the Rings sets the ones there were definitely some great sets released between 2012 and 2013, the most popular LEGO® Lord of the Rings set was the Tower of Orthanc (10237) and quite right too. Even if you aren’t a LOTR fan it’s hard not to love this LEGO® LOTR set.

Unfortunately, these sets are all retired from the LEGO® store so if you want to pick one up for yourself you need to check out eBay or Bricklink to see what you can find.

<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