Note: Always follow the official LEGO® when handling your LEGO® Bricks or accessories
LEGO Bricks are great to play with and you can easily enjoy the experience of bringing all kinds of cool ideas to life with them. But just like anything in your home, these LEGO® Bricks can accumulate dust, dirt, and grime on them.
That means they can be a germ-riddled places and you have to find the right way to clean these properly. Which does make you wonder, how can you actively clean the LEGO® Bricks properly. Here you have a list of tips and tricks to help you get started.
Key Takeaway
Clean LEGO® Bricks manually with a container, warm water, and a bit of mild soap
If using the washing machine, use the gentlest wash mode and cold water
Place all pieces in a laundry bag or pillowcase to prevent tumbling
Allow for adequate drying time (up to 2 days) in a well-ventilated room
Avoid any source of heat like hair dryers when drying pieces
It will take 20 minutes up to multiple hours depending on how many LEGO® Bricks you have.
Take your time, and learn how to complete this cleaning process adequately for the best results.
Separating LEGO® Bricks and cleaning them individually is essential for good results.
List of LEGO® Bricks Cleaning Requirements
A Brick Separator
A soft cloth or cotton swab.
Mild soap or detergent.
Clean water for washing and rinsing your bricks.
An empty container to soak your bricks in, if necessary.
If using an ultrasonic cleaner, make sure that it is set up according to the manufacturer’s instructions and only use the dedicated LEGO® cleaning solution provided with the cleaner.
Any other items recommended by the manufacturer (e.g., special scrubbers, brushes).
List of Methods for Cleaning LEGO® Bricks
1. Handwashing
With a little bit of mild soap and some water, handwashing is one of the simplest and most effective methods for cleaning LEGO® bricks.
Start by dampening the cloth or cotton swab with warm water and adding a small amount of mild detergent or soap. Gently rub the pieces until they are free from dirt and grime, then rinse them off in clean water before setting them aside to dry naturally.
2. Steam Cleaning
If your LEGO® pieces are really grimy, steam cleaning may be a better option as it penetrates deeper and can get rid of the dirt more effectively. Use a steam cleaner that is specifically designed for cleaning LEGO® pieces.
3. Ultrasonic Cleaning
An ultrasonic cleaner is another effective way to clean your LEGO® bricks. Fill the tank with water and add a few drops of the special cleaning solution provided by the manufacturer, then submerge your bricks and turn on the machine.
The powerful vibrations produced by the machine will help to break up dirt and grime so that it can be easily wiped away.
4. Soaking
If you have particularly stubborn stains, soaking your LEGO® pieces in warm soapy water may be necessary to remove them. Place all of your pieces in an empty container and fill them with warm water and a bit of mild soap.
Let the pieces sit in the solution for at least 10 minutes before rinsing them off and setting them aside to dry naturally.
Handwashing Your LEGO® Bricks Step-By-Step Guide
Start by dampening the cloth or cotton swab with warm water, then add a small amount of mild detergent or soap.
Gently rub each LEGO® piece until it is free from dirt and grime.
Rinse the pieces in clean water to remove any remaining soap residue.
Set aside to dry naturally before reassembling with other pieces or storing away for later use.
Steam Cleaning Your LEGO® Bricks Step-By-Step Guide
Place all of your LEGO® pieces in the steam cleaner and make sure they are evenly spread out so that they will be exposed to an even level of heat and moisture during cleaning.
Turn on the machine and let it run for a few minutes until the pieces are free from dirt and grime.
Remove the pieces from the steam cleaner and set them aside to dry naturally before reassembling or storing them away for later use.
Ultrasonic Cleaning Your LEGO® Bricks Step-By-Step Guide
Fill the ultrasonic cleaner with warm water and add a few drops of cleaning solution provided by the manufacturer.
Submerge all of your LEGO® pieces in the tank and make sure they are evenly spaced out so that they will be exposed to an even level of vibrations during cleaning.
Turn on the machine and let it run for several minutes until all dirt and grime have been effectively broken up by the powerful vibrations produced by the machine.
Remove the pieces and wipe them down with a clean cloth to remove any remaining dirt residue.
Set aside to dry before reassembling or storing away for later use.
Soaking Your LEGO® Bricks Step-By-Step Guide
Place all of your LEGO® pieces in an empty container large enough to fit them all comfortably and fill them with warm water and a bit of mild soap.
Let the pieces sit in the solution for at least 10 minutes, so that all dirt and grime can be effectively broken up by the soapy water solution.
Rinse off each piece with clean water until it is free from any remaining soap residue, then set aside to dry naturally before reassembling or storing away for later use.
If necessary, repeat the soaking process until all pieces are completely free from dirt and grime.
Finally, set aside to dry before reassembling or storing away for later use.
More Info
Can you clean LEGO® Bricks with a washing machine?
You should never wash your LEGO® Bricks in a washing Machine never dry them LEGO® Bricks in the oven, microwave, or with a hair dryer.
How much time does the cleaning process take for LEGO® Bricks?
It all comes down to how many LEGO® Bricks you have. If you have a small number of bricks, then it will mostly require 20 to 30 minutes, but it can also take multiple hours. It’s important to separate all the bricks and ensure that you are able to clean them individually.
This way you can be 100% sure everything is ok, and you fully cleaned everything without a problem. It’s a very good approach and an amazing idea that will make things easier all the time. It’s definitely going to pay off very well, especially if you do it right.
Conclusion
Cleaning your LEGO® Bricks is not very difficult, and there are multiple methods that you can try out. It’s all a matter of figuring out what approach works for you and where you are getting the best value. Yes, there are obvious challenges that can arise, and you will be very happy with the benefits and results in the long run.
Take your time, learn how to complete this cleaning process adequately, and in the end, you will be very impressed with the experience. Just take your time, avoid any rush, and the payoff will be well worth it!
/* 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);