Are you a LEGO® fan looking for the newest and most exciting sets? Then you’ll be thrilled to hear about all of the great LEGO® set releases coming in 2023! We’ve put together a list of LEGO® sets that are expected to be released in 2023, the list will be updated when new sets are announced so be sure to save the page and check back regularly.
LEGO Harry Potter 2023
LEGO 76413 Hogwarts™: Room of Requirement
LEGO 76420 Triwizard Tournament: The Black Lake
LEGO 76412 Hufflepuff™ House Banner
LEGO 76411 Ravenclaw™ House Banner
LEGO 76410 Slytherin™ House Banner
LEGO 76409 Gryffindor™ House Banner
LEGO BrickHeadz 2023
LEGO 40615 Tusken Raider
LEGO 40619 Cruella de Vil & Maleficent
LEGO 40620 Eve & Wall-E
LEGO 40621 Moana & Merida
LEGO 40622 Steamboat Willie, Oswald, Snow White & Tinkerbell
LEGO 40623 Leia, Luke, Lando, Wicket & R2-D2
LEGO 40624 Alex
LEGO 40625 Lama
LEGO 40626 Zombie
LEGO 40630 Frodo & Gollum
LEGO 40631 Gandalf & Balrog
LEGO 40632 Aragorn & Arwen
LEGO Art 2023
LEGO 31208 Set name TBC
LEGO City 2023
LEGO 60327 Police Training Academy
LEGO 60371 Emergency Vehicles HQ
LEGO 60374 Fire Command Truck
LEGO 60389 Custom Car Garage
LEGO 60388 Gaming Tournament Truck
LEGO 60375 Fire Station and Fire Truck
LEGO 60370 Police Station Chase
LEGO 60386 Recycling Truck
LEGO 60387 4×4 Off-Roader Adventures
LEGO 60373 Fire Rescue Boat
LEGO 60369 Mobile Police Dog Training
LEGO 60384 Penguin Slushy Van
LEGO 60385 Construction Digger
LEGO 60394 ATV and Otter Habitat
LEGO 60383 Electric Sports Car
LEGO 60382 Vet Van Rescue
LEGO 60393 4×4 Fire Truck Rescue
LEGO 60392 Police Bike Car Chase
LEGO 60385 Cyber Stunt Bike
LEGO 60356 Bear Stunt Bike
LEGO Friends 2023
LEGO 41723 Donut Shop
LEGO 41724 Paisley’s House
LEGO 41726 Holiday Camping Trip
LEGO 41727 Dog Rescue Center
LEGO 41728 Heartlake Downtown Diner
LEGO 41729 Organic Grocery Store
LEGO 41730 Autumn’s House
LEGO 41731 Heartlake International School
LEGO 41732 Downtown Flower and Design Stores
LEGO 41733 Mobile Bubble Tea Shop
LEGO 41735 Mobile Tiny House
LEGO 41738 Dog Rescue Bike
LEGO 41739 Liann’s Room
LEGO 41740 Aliya’s Room
LEGO 41741 Dog Rescue Van
LEGO 41742 Cat Hotel
LEGO 41743 Hair Salon
LEGO 41751 Skate Park
LEGO 41754 Leo’s Room
LEGO 41755 Nova’s Room
LEGO Minecraft 2023
LEGO 21246 The Deep Dark Battle
LEGO 21245 The Panda Haven
LEGO 21244 The Sword Outpost
LEGO 21243 The Frozen Peaks
LEGO 21242 The End Arena
LEGO 21241 The Bee Cottage
LEGO 21240 The Swamp Adventure
LEGO CREATOR 3-IN-1 2023
LEGO 31133 White Rabbit
LEGO 31143 Birdhouse
LEGO Monkie Kid 2023
LEGO 80040 Monkie Kid’s Combi Mech
LEGO 80041 Mei’s Dragon Jet
LEGO 80043 Yellow Tusk Elephant
LEGO 80044 Monkie Kid’s Team Hideout
LEGO 80045 Monkey King Ultra Mech
LEGO Marvel 2023
LEGO 76244 Miles Morales vs. Morbius
LEGO 76245 Ghost Rider Mech & Bike
LEGO 76247 The Hulkbuster The Battle of Wakanda
LEGO 76248 The Avengers Quinjet
LEGO 76241 Hulk Mech Armor
LEGO 76242 Thanos Mech Armor
LEGO 76243 Rocket Mech Armor
LEGO 76245 Ghost Rider Mech & Bike
LEGO Lunar New Year 2023
LEGO 80110 Lunar New Year Display
LEGO 80111 Lunar New Year Parade
LEGO 40648 Money Tree
LEGO Duplo 10411 Learn About Chinese Culture
LEGO Super Mario 2023
LEGO 71413 Character Packs Series 6
LEGO 71414 Conkdor’s Noggin Bopper Expansion Set
LEGO 71415 Ice Mario Suit and Frozen World Expansion Set
LEGO 71416 Lava Wave Ride Expansion Set
LEGO 71417 Fliprus Snow Adventure Expansion Set
LEGO 71418 Creativity Toolbox Maker Set
LEGO 71419 Peach’s Garden Balloon Ride Expansion Set
LEGO Avatar: Way of the Water 2023
LEGO 75575 Ilu Discovery
LEGO 75576 Skimwing Adventure
LEGO 75577 Mako Submarine
LEGO 75578 Metkayina Reef Home
LEGO 75579 Payakan the Tulkun & Crabsuit
Conclusion
It looks like 2023 is going to be a big year for new LEGO® set releases, with a massive variety of sets being released it’s clear that there’s a set for everyone. Are you someone who enjoys popular themes such as Harry Potter, LEGO® City, or Marvel… perhaps you prefer newer themes such as Avatar? No matter your preference there is certainly going to be a LEGO® set released in 2023 for you.
<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);