top of page

How to Resize an Image in HTML

Images are an integral part of web design, and sometimes it becomes necessary to resize them to fit specific dimensions or improve page loading times. When working with HTML, there are various methods available to resize images according to your requirements.


In this article, we will explore seven different methods to resize an image in HTML, each offering its own approach and level of flexibility.


Whether you need a simple resizing solution or more advanced techniques, this guide will provide you with the knowledge to effectively resize images in your HTML projects.


How to Resize an Image in HTML

As a beginner learning HTML and CSS, you might be curious about how to resize an image in HTML. It is a straightforward process with multiple methods to achieve the desired result. Here you will learn 7 different methods to resize an Image in HTML:


1. Using 'Width' and 'Height' Attribute

This method involves directly setting the width and height attributes of the <img> tag. You specify the desired pixel dimensions for the width and height, and the image will be resized accordingly.

<!DOCTYPE html>
<html>
<head>
    <title>Image Resizing</title>
</head>
<body>
    <h2>Original Image SIze</h2>
    <img src="https://static.wixstatic.com/media/0f65e1_55cd02dfb1c648c59173a30aa86504a7~mv2.jpg"><br>
    <h2>Resized the Image using 'Height' and 'Width' Attribute</h2>
    <img src="https://static.wixstatic.com/media/0f65e1_55cd02dfb1c648c59173a30aa86504a7~mv2.jpg" width="300" height="300" alt="Image description">
</body>
</html>

Output:

How to Resize an Image in HTML using 'Height' and 'Width' Attribute

Pros: Simple and straightforward. You can easily set the desired width and height directly in the HTML.


Cons: The image may lose its aspect ratio if the specified width and height do not match the original proportions.


2. Using a CSS class

In this method, you define a CSS class and set the desired width and height properties for the image. Then, you apply this class to the <img> tag using the class attribute. The image will be resized based on the specified dimensions in the CSS class.

<!DOCTYPE html>
<html>
<head>
<title>Image Resizing</title>
<style>
    .resized-image {       
        width: 350px;       
        height: 300px;     
    }   
</style>
</head>
<body>
    <h2>Original Image Size</h2>
    <img src="https://static.wixstatic.com/media/0f65e1_55cd02dfb1c648c59173a30aa86504a7~mv2.jpg">
    <h2>Resized Image </h2>
    <img src="https://static.wixstatic.com/media/0f65e1_55cd02dfb1c648c59173a30aa86504a7~mv2.jpg" class="resized-image" >
</body>
</html>

Output:

How to Resize an Image in HTML using CSS class

Pros: Allows for more flexibility and separation of concerns by using CSS to define the image dimensions.


Cons: Requires additional CSS code and a class attribute on the image element.


3. Using the HTML <canvas> element

This method utilizes the <canvas> element and JavaScript to resize the image. After creating a canvas element and obtaining its context, you load the image and specify the desired width and height for the canvas. Then, you use the drawImage method to draw the image onto the canvas with the specified dimensions, effectively resizing it.

<!DOCTYPE html>
<html>
<head>
    <title>Image Resizing</title>
</head>
<body>
    <canvas id="myCanvas"></canvas>
    
    <script>
        var canvas = document.getElementById("myCanvas");     
        var ctx = canvas.getContext("2d");      
        var img = new Image();     
        img.src = "https://static.wixstatic.com/media/0f65e1_55cd02dfb1c648c59173a30aa86504a7~mv2.jpg";     
        img.onload = function() {       
            canvas.width = 300; // Set desired width       
            canvas.height = 300; // Set desired height       
            ctx.drawImage(img, 0, 0, canvas.width, canvas.height);     
        };   
    </script>
</body>
</html>

Pros: Provides a way to manipulate and resize images dynamically within a canvas element.


Cons: Requires JavaScript code to handle the resizing, and the image is rendered within the canvas, which may not be suitable for all use cases.


4. Using the 'object-fit' CSS property

With this method, you apply the object-fit CSS property to the <img> tag. By setting it to cover, the image will be scaled to fit the specified width and height, maintaining its aspect ratio and potentially cropping parts of the image if needed.

<!DOCTYPE html>
<html>
<head>
    <title>Image Resizing</title>
<style>
    .resized-image {       
        width: 300px;       
        height: 300px;       
        object-fit: cover;     
    }   
    </style>
</head>
<body>
    <img src="https://static.wixstatic.com/media/0f65e1_55cd02dfb1c648c59173a30aa86504a7~mv2.jpg" class="resized-image" alt="Image description">
</body>
</html>

Pros: Allows for controlling how the image fills its container with options like 'cover' or 'contain'.


Cons: The image may be cropped or distorted depending on the aspect ratio of the container and the image itself. It may not be supported in older browsers.


5. Using an external library like "jQuery" and "ImageResizer.js"

This method involves utilizing external libraries, specifically jQuery and ImageResizer.js. You include the necessary script files in your HTML, and then use jQuery to select the <img> tag and apply the imageResizer function. With this function, you can specify the desired width, height, and resizeMode to resize the image accordingly.

<!DOCTYPE html>
<html>
<head>
    <title>Image Resizing</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://unpkg.com/image-resizer.js"></script>
<script>     
    $(document).ready(function() {       
        $('img').imageResizer({         
            width: 300, // Set desired width
            height: 300, // Set desired height
            resizeMode: 'cover'// Adjust the resizing mode as needed       
        });     
    });   
    </script>
</head>
<body>
    <img src="https://static.wixstatic.com/media/0f65e1_55cd02dfb1c648c59173a30aa86504a7~mv2.jpg" alt="Image description">
</body>
</html>

Pros: Provides advanced image resizing capabilities, including resizing based on various parameters and options.


Cons: Requires including external libraries, which adds complexity and may affect performance.


6. Using the 'picture' element with multiple source elements

The <picture> element allows you to provide multiple versions of an image and select the appropriate one based on the screen size. Each <source> element specifies a different image source along with the media attribute, which sets the conditions for when that source should be used. The browser will choose the best matching source based on the conditions and resize the image accordingly.

<!DOCTYPE html>
<html>
<head>
<title>Image Resizing</title>
</head>
<body>
    <picture>
        <source srcset="https://static.wixstatic.com/media/0f65e1_55cd02dfb1c648c59173a30aa86504a7~mv2.jpg" media="(min-width: 800px)">
        <source srcset="https://static.wixstatic.com/media/0f65e1_55cd02dfb1c648c59173a30aa86504a7~mv2.jpg" media="(min-width: 400px)">
        <img src="https://static.wixstatic.com/media/0f65e1_55cd02dfb1c648c59173a30aa86504a7~mv2.jpg" alt="Image description">
    </picture>
</body>
</html>

Pros: Enables responsive image resizing by providing different image sources based on the viewport size.


Cons: Requires creating and managing multiple versions of the image, which increases file size and requires additional server-side processing.


7. Using the 'transform' CSS property

This method utilizes the transform CSS property with the scale function. By setting the transform: scale value to a fractional value, you can scale the image accordingly. For example, a value of 0.5 will reduce the size of the image to 50% of its original dimensions.

<!DOCTYPE html>
<html>
<head>
      <title>Image Resizing</title>
<style>
      .resized-image {
      transform: scale(0.5); /* Adjust the scaling factor as needed */
    }
  </style>
</head>
<body>
      <h2>Original Image</h2>
      <img src="https://static.wixstatic.com/media/0f65e1_55cd02dfb1c648c59173a30aa86504a7~mv2.jpg"> 
      <h2>In 'transform' property, a value of 0.5 will reduce the size of the image to 50% of its original dimensions.</h2>
      <img src="https://static.wixstatic.com/media/0f65e1_55cd02dfb1c648c59173a30aa86504a7~mv2.jpg" class="resized-image" alt="Image description">
</body>
</html>

How to Resize an Image in HTML using 'transform' CSS property

Pros: Allows for scaling the image easily, with options to scale proportionally or non-proportionally.


Cons: The scaling factor may cause the image to become blurry or pixelated if scaled too much. It may not be supported in older browsers.


Conclusion

Resizing images in HTML is a fundamental skill for web developers and designers. In this article, we have explored seven different methods to resize images, ranging from basic techniques to more advanced approaches involving external libraries. Each method offers its unique advantages and can be tailored to specific project requirements. By understanding these methods, you will have the necessary knowledge to resize images effectively in your HTML projects and optimize the visual experience for your users.

0 comments

Recent Posts

See All
bottom of page