How to Lazy Load Images? (With Different Techniques)

Photos, pictures, GIFs, in short, all images are material that is critical to every website and app today. When we were all young or maybe even now, we wanted to have images when we read something in a book or a newspaper and a magazine. The same applies to everything you reach on the Internet. Perhaps the most important parts of websites. It is impossible to imagine a website without logos and visuals for posters and product pictures. No matter how important they are at work, they are standing by to put a great barrier on you and your visitors. So what’s the problem? Uploading and size of pictures. It’s probably going to be quite large for the images you uploaded to your blog for your website. That’s why we have lazy load. 

In this case, the biggest burden of uploading the page on your website means that the images will do. That’s when you step in and you’ll be able to get lazy load technique to save your site. What about how to lazy load images? In our article today, we’ll be answering that question!

What Is Lazy Load?

Lazy load performs the process of delaying or starting resources or objects until necessary to improve performance and recover system resources.

For example, if a webpage has a picture that the user needs to scroll down to see, the user can only display a placeholder when the image is located. And you can upload the full image as a lazy load.

Below we listed the benefits of a lazy load.

  • Start load time – Loading a webpage with lazy load reduces page weight and provides faster page load time.
  • Bandwidth – lazy load maintains bandwidth by providing content only to users when requested.
  • System resource – lazy load protects both server and client resources because only some pictures need to create or execute JavaScript and other codes.

Lazy Load and Eager Load

We’re assuming you understand more or less what lazy load is. But we need to open another title here. This should be about lazy load and eager load. 

Lazy load starts or installs a resource as soon as the eager load code is executed while delaying the start of a resource. Eager load contains related installations referenced by a resource in advance. For example, a PHP script with the include action performs the willing installation. As soon as the page is executed, the eagle load pulls and loads the resources included. The eagle load is useful when you need the opportunity to load resources in the background. For example, some websites display an “installation” screen and eagerly install all the resources needed for the web application to work.

What Are Lazy Load Images

What Are Lazy Load Images?

Lazy load images correspond to a series of techniques that delay upload images on the web and the page involved in application development to a later point. This is to take them instead of installing them in advance when these images are needed. These techniques help improve performance, better use of the device’s resources, and reduce associated costs. Similarly, a lazy load prevents resources from loading on the page until you need it.

There is a system that installs these resources as soon as the page is installed, and this is the system that normally exists. However, things change in Lazy Load, and installing these resources is postponed until the user needs to view them. You can apply the Lazy Load technique to almost all resources on a page. For example, if you don’t need a JS file later in a one-page application, it’s best not to install it in the beginning. If you don’t need to front an image, you can upload it later when it needs to be displayed.

So Why Use Lazy Load?

Lazy load allows you to immediately upload an image that is not required on the page. When the page opens, an image that the user does not see is loaded later when the user scrolls through the page, and the image becomes truly visible. If the user never scrolls, an image that the user does not see will never be loaded.

Which Images Can Be Uploaded With Lazy Load?

The basic idea about Lazy Load is very, very simple. Delaying the installation of everything that is not required right now! Any image that the user usually does not see can become a lazy load. As the user scrolls down the page, the image placeholders begin to arrive in the view area (the visible part of the webpage). These images will load when they are visible. Using the Google Lighthouse control tool, you can find out which images are candidates for Lazy Load and how many bytes you can save on the first-page upload.

Lazy Load Advantages

Advantages of Lazy Load

Let’s have a look at the advantages of it:

Performance Improvement

If you’re a website administrator, it’s the most important thing for you. Better performance and load time. Who wouldn’t want that? With a lazy load, you can reduce the number of images that initially need to be uploaded to the page. Fewer resource requests mean fewer bytes to download and less competition for the user’s limited network bandwidth. This allows the device to download and process the remaining resources faster. That’s why when you compare the page to a page without lazy upload, it becomes much earlier to be used.

Cost Reduction

The second most important benefit for you will have cost reduction. Bringing an image or uploading another entity to the page will also change the cost depending on the number of bytes you usually transfer.

As we mentioned before, if your images are not visible with lazy load, they will never, ever load. This will allow you to reduce the total amount of bytes on the page, especially for users who return from the page or interact with only the top of the page. This reduction in bytes from the distribution network reduces deployment costs. This will become more pronounced as we investigate lazy loading more.

Lazy Load Techniques for Images

You can upload images on a webpage in two ways:

  • < IMG /> label
  • CSS ‘background’ feature

Let’s look at the label, which is more common than the two, and then move on to CSS background images.

General Basics of Lazy Load Visuals with the Label < IMG />

We can divide the Lazy Load images into two steps. The first step is to prevent the front-loading of the image. Let’s start with the pictures you uploaded using the tag “<img />.” The browser uses the attribute of the label to trigger the SRC image upload.

1 in HTML. screen or 1000. It doesn’t matter if there’s an image or not. Triggers the image load if the browser receives the SRC attribute. Therefore, place the image URL in a different attribute to upload such images lazy. Let’s say data-src in the visual URL. Now the SRC is empty. The scanner has become unable to trigger its visual load.

<img class= “ “ data-src=”” />

Now that we’ve stopped the preload, we need to tell the scanner when to upload the image. To do this, we need to check that we trigger the load as soon as we enter the image area of the image (i.e., the placeholder).

Triggering Image Upload using Javascript Events

In this technique, we use the scroll, resize, and orientation change commands. The Scroll command is an open event to check when the user scrolls the page. Resize and orientation change actions are equally important to lazy load. The Resize action occurs when the size of the browser window changes.

The orientation change event is triggered when you rotate the device from horizontal mode to vertical mode or vice versa. In such cases, the number of images visible on the screen will change. Therefore, we will need to trigger a load for these images.

When any of these events occur, you will upload the images on the page with the lazy load technique, and you will also find all the pictures you haven’t uploaded yet. Let’s check which of these images is now in view.

You make the top of the image using the current document scrolling window height. If it entered the view window, we’ll select the URL from the data-src property and put an SRC in the property. This triggers the image load. We also remove the class that identifies the images we will upload as Lazy Load for events that will occur later. After uploading all the images, we remove the event listeners.

The URL is available directly in the data-src property instead of the SRC property. This is necessary for a good user experience. Because these pictures are at the top of the page, you need to make the pictures visible as soon as possible. We shouldn’t expect an event or JS execution to install them.

Using the Intersection Monitor API to Trigger Image Loads

The Intersect Observer API is a relatively new API in browsers. It makes it easier to detect when an item enters the view and take action when necessary. The previous method was to link events, consider performance, and calculate whether the item is in the view area. The Intersection Observer API simplifies this, helps avoid math, and delivers excellent performance.

Example of the Intersection Observer API

We add the observer to all the images you will upload with a lazy load. After detecting that the item enters the view area using API intersecting, we take the URL from the data-src, and we move it to the subjectivity to trigger the src browser’s image load. After we do this, we remove the observer from this image.

In both methods, let’s compare the amount of time you spend uploading an image between event listeners and the intersection observer. Using the intersection observer API, we see that we trigger image load much faster, and yet the site doesn’t appear stagnant during scrolling. Because the display load is triggered by a slight delay in the method that contains event listeners, we may have to add a timeout to perform performance that has a marginal impact on the user experience.

However, the intersection monitor API support is not available in all browsers. Therefore, in browsers where the intersection monitor API does not support, we need to go back to the event listener method.

Native Lazy Load

Their latest updates include local lazy installation support in Chrome 76, the latest version of the Google Chrome browser. With browser-side support in effect, developers need to add only one “upload” feature when placing images on their websites to apply Lazy Load. You don’t even need to be a developer to do this. Some basic HTML information is sufficient to implement the “installation” feature and makes this feature accessible to more website administrators.

The code will now appear as follows:

<img src= “example.jpg” loading= “lazy” alt= “…” />

<iframe src= “example.html” loading= “lazy”></iframe>

The following values support the loading property:

lazy – Delay the installation of assets until it reaches a certain distance from the view window.

willing – It doesn’t matter if the page is above or below the floor. Places on the page don’t matter, and you load assets as soon as the page opens.

auto – This value triggers the default Lazy Load. It is the same as not including the installation feature.

However, for browsers that do not support the local Lazy Load, you will need to apply the techniques we mentioned above and have more technical skills to implement it.

Lazy Load CSS Background Images

This is the most common way to upload background pictures to a webpage after the <img /> tags. For <iMG /> tags, the browser has a very simple approach. The browser allows you to upload the picture if it has a visual URL.

This process is not that easy with CSS background images. To upload CSS background images, you must decide whether to apply the browser’s CSS style to a DOM node in the current document. To decide, you must create the DOM (Document Object Model) tree and the CSSOM (CSS Object Model) tree. 

If you do not apply the CSS rule that specifies the background image to an item in the document, the browser does not upload the background image. If you apply the CSS rule to an item in the current document, the browser loads the image. This may initially be complex, but the same behavior forms the basis of the technique of Lazy Load background images. 

Tricks to Lazy Load CSS Background Images

What you need to pay attention to here is that the Javascript code for Lazy Load is still the same. We use the intersection monitor API method with a comeback to event listeners. The trick is in CSS. The element with the BG-image ID has a background-image in the CSS, but when you add the Lazy Load command to this item, the background-image feature in CSS is invalid, and we set it to none.

According to the rule, “#bg-image” is higher than the CSS “#bg-image” class, which is combined with “lazy.” Set the browser property to “background-image: none.” When we scroll down the page, the intersection monitor (or event listener) detects that the image is in the view area and removes the lazy class. You change the CSS you can apply to and apply the actual background-image feature to the element that triggers the load of the background image.

Better User Experience with Lazy Load Images

Lazy load offers a huge performance advantage. For an e-commerce company that uploads hundreds of product images to a page, the Lazy Load technique can reduce bandwidth consumption while making significant improvements in first page load time. However, many companies prefer a lazy load process in particular. 

Installing All Images with Lazy Load

This method is another error that developers often commit to. We’re talking about uploading all the pictures on the page as Lazy Load. This can reduce the initial page load, but even those at the top of the webpage cause a bad user experience because javascript won’t appear until it’s active. 

Lazy Load Principles

Basic Principles for Lazy Load

You should not have uploaded an image or an image at the top of the page with a lazy load. This condition applies to any title image, marketing banner, and logos that the user must see as soon as the page is installed. If the user doesn’t see them instantly, he’ll have a bad user experience. There will also be a different number of images that will initially appear on the screen because mobile and desktop devices have different screen sizes. Therefore, you need to consider the type of device to determine which resources to install in front and which ones to install with Lazy Load.

You should not upload any images that are slightly outside the field of view as Lazy Load. This is based on where we’ve argued before. Upload the image a little advance. So let’s say you can upload any image with 500 pixels or a single scroll from the bottom of the view to the front.

If the page isn’t too long, it’s a good thing you should avoid Lazy Load altogether if there are only one or two scrolls or fewer than 5 images outside the view.

In terms of performance, problems may also occur for the user. To enable lazy load installation, the additional JS you uploaded to the page will compensate for the damage caused by installing such a small number of images with Lady Load.

Lazy Load Installation and Javascript

Lazy Load Installation and Javascript 

The entire idea of Lazy Load depends on the availability of Javascript execution features in the user’s browser. Although Javascript execution is enabled in most of its users’ browsers, it is necessary for almost all websites these days. Therefore, you may want to plan for users who use a browser that does not allow Javascript or does not support Javascript at all. You may also have seen pop-ups on websites that say Java will no longer be supported. You can show them a message that they can’t upload images and move to a modern browser or activate Javascript. Or you can use the “NoScript” tag to create an experience that is also available to these users. There are some problems with using the “NoScript” tag approach for such users.

Popular Javascript Libraries for Lazy Load on your Website

It is best to use a tried and tested library for Lazy Load installation, as browser environments and application details can vary in browsers and devices. How about looking at some of the popular libraries and platform-specific plug-ins that will allow you to apply lazy load with minimal effort?

For example, “yall.js (Yet Another Lazy Loader),” uses the intersection monitor and returns to event-based lazy installation. This plugin also supports the main HTML element types, but does not support background images and also works on IE11+. “lazy sizes” are very popular and provide comprehensive functionality. Responsive images also support src and dimensions and provide high performance even without an intersection observer. “jQuery Lazy Load” is a simple jquery-based lazy installation library. Other add-ons can be found below in the list along with the features.

WeltPixel Lazy Loading Enhanced

Magento 2 extension for lazy installation images.

Magento Lazy Image Loader

This plugin provides the Magento 1.x extension for Lazy Load installation images.

Shopify Lazy Load Image Plugin

A Shopify extension for lazy upload pictures. Paid.

WordPress A3 Lazy Load

An advanced tool for WordPress of Lazy Load Images.

Testing Lazy Load’s Working And What You Need to Pay Attention 

After you apply Lazy Load, you want to check if the behavior of the images on your website is intended. The simplest way is to open developer tools in a Chrome browser. Click the Network Tab and go to Pictures. Here, when you refresh the page for the first time, only pictures that will be uploaded from the front must be uploaded. Other image upload requests are triggered and loaded when the page starts scrolling down. In this view, you can also see the timings of uploading images in the waterfall column. It helps you identify image upload issues (if any) or problems with triggering the image load. 


In this article, we’ve covered almost everything about lazy load upload pictures. When you apply lazy load correctly, you will significantly improve the upload performance of your webpages, reduce unnecessary resources you’ve preloaded, reduce content and delivery costs on the page, and protect the required content on the page. Faster loading pages come with a great user experience that your visitors will love. What are you waiting for? By applying lazy load, you can make your website much faster, user-friendly!

If you like this article, please check out our other articles about SEO. You may like how to write SEO-friendly alt-text for your images.

Frequently Asked Questions About

In the markup, “jpg loading = lazy/ >.” The markup needs to use something like < img data-src = unicorn. jpg/ > (rather than src, srcset or < source >) to avoid an eager load in browsers that do not support a new attribute.

Lazy loading prevents unnecessary downloading of resources or code execution. It can’t help, however, if the user requests large or numerous resources. A CDN caches resources and can serve users much faster – but it can transmit unnecessary resources that users don’t need.

Eager loading is a method in which the demand for one type of entity often loads similar entities as part of the demand. Eager loading is accomplished by using the Include process. For eg, the queries that we’ll write next will load blogs and all posts linked to each blog. “C # Copy.”

Margrit Aksu
Margrit Aksu

Posts: 158

Margrit Aksu, a graduate of English Literature, is passionate about the English language. As she dived deeper into this language, writing, creating and editing articles became her passion. That's why she has been working as an SEO Content Editor at Dopinger digital marketing agency since 2021. Bes... Read More
Be the First to Comment on How to Lazy Load Images? (With Different Techniques)

Your email address will not be published. Required fields are marked *

(Total: 34 Average: 5 )

No comments to show.