DEV Community

Cover image for How to Create a Web Icon in HTML
John Corner
John Corner

Posted on

How to Create a Web Icon in HTML

Creating web icons in HTML involves designing the icon and embedding it in your web pages using HTML and CSS. Web icons are often used to enhance user experience by providing visual cues for users to interact with your site. These icons can be implemented in many ways, including using image files, SVGs (Scalable Vector Graphics), or icon libraries like Font Awesome. Here's a detailed guide to creating and embedding web icons in your website:

1. Understand the Basics of Web Icons

Web icons are small graphical representations used to symbolize a specific function or service. They can be seen in various places on a website, such as navigation bars, buttons, and favicons (the icon that appears in the browser tab).

The most common formats for web icons are:

  • Image files (e.g., PNG, JPEG, GIF)
  • SVG (Scalable Vector Graphics) files
  • Icon fonts (e.g., Font Awesome, Bootstrap Icons)

2. Using Image Files as Icons

The simplest way to create and display a web icon is by using image files. You can use any graphic design software (such as Adobe Illustrator or Figma) to create an icon image and save it in a web-friendly format like PNG or JPEG.

Steps:

1. Create Your Icon: Use graphic design software to design a small icon. Ensure that the dimensions are appropriate, usually 16x16px or 32x32px for favicons.
2. Save the Image: Save the icon image in a format like PNG or JPEG.
3. Embed the Icon in HTML:

  • Place the image in the appropriate folder (like images/icons/).
  • Use the HTML tag to embed the image within your page.

Example HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Web Icon Example</title>
</head>
<body>
    <header>
        <img src="images/icons/my-icon.png" alt="My Web Icon" width="32" height="32">
    </header>
</body>
</html>

Enter fullscreen mode Exit fullscreen mode

In the example above:

  • src specifies the path to your icon image.
  • alt provides a text description for accessibility.
  • width and height define the size of the image.

3. Using SVGs for Icons

SVGs are a popular choice for web icons because they are resolution-independent, meaning they look crisp on any screen size. SVGs are XML-based files, so they can be directly embedded in HTML.
Steps:

Create an SVG Icon: You can create an SVG using graphic design tools or code it manually. SVGs are very versatile, and you can easily customize them with CSS.
Embed the SVG in HTML:
    You can embed the SVG directly within the HTML or link to an external SVG file.
Enter fullscreen mode Exit fullscreen mode

Example HTML (Inline SVG):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>SVG Icon Example</title>
</head>
<body>
    <header>
        <svg width="32" height="32" xmlns="http://www.w3.org/2000/svg">
            <circle cx="16" cy="16" r="10" fill="blue" />
        </svg>
    </header>
</body>
</html>

Enter fullscreen mode Exit fullscreen mode

In the example above:

The <svg> element defines the SVG container.
The <circle> element creates a blue circle, which acts as the icon.
Enter fullscreen mode Exit fullscreen mode

Example HTML (External SVG File):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>External SVG Icon Example</title>
</head>
<body>
    <header>
        <img src="icons/my-icon.svg" alt="My SVG Icon" width="32" height="32">
    </header>
</body>
</html>

Enter fullscreen mode Exit fullscreen mode

4. Using Icon Fonts (Font Awesome Example)

Icon fonts like Font Awesome or Bootstrap Icons provide a quick way to add icons to your web page. They work by linking to a font library and using specific CSS classes to display the icons.
Steps:

Include the Font Library:
    You can either download the library or link to it via a CDN (Content Delivery Network).

Use Icon Classes:
    After including the library, you can use specific CSS classes to display the icons.
Enter fullscreen mode Exit fullscreen mode

Example HTML (Using Font Awesome):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Font Awesome Icon Example</title>
    <!-- Link to Font Awesome CDN -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
</head>
<body>
    <header>
        <i class="fas fa-home" style="font-size: 32px; color: blue;"></i> Home
    </header>
</body>
</html>

Enter fullscreen mode Exit fullscreen mode

In the example above:

The <link> tag includes Font Awesome's stylesheet from a CDN.
The <i> tag is used to insert an icon. The class fas fa-home refers to a home icon from Font Awesome.
Enter fullscreen mode Exit fullscreen mode

5. Customizing Icons with CSS

Web icons can be styled using CSS to change their size, color, and other properties. Here are some CSS techniques to customize your icons:
Example CSS:

/* Customizing the size of an icon */
.icon {
    width: 50px;
    height: 50px;
    display: inline-block;
}

/* Changing the color of an SVG icon */
.icon svg {
    fill: red;
}

/* Styling icon fonts */
.icon i {
    font-size: 48px;
    color: green;
}

Enter fullscreen mode Exit fullscreen mode

Applying CSS to HTML Icons:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Styled Icon Example</title>
    <style>
        .icon {
            width: 50px;
            height: 50px;
            display: inline-block;
        }

        .icon svg {
            fill: red;
        }

        .icon i {
            font-size: 48px;
            color: green;
        }
    </style>
</head>
<body>
    <header>
        <div class="icon">
            <svg width="50" height="50" xmlns="http://www.w3.org/2000/svg">
                <circle cx="25" cy="25" r="20" />
            </svg>
        </div>
        <div class="icon">
            <i class="fas fa-home"></i>
        </div>
    </header>
</body>
</html>

Enter fullscreen mode Exit fullscreen mode

6. Adding a Favicon

A favicon is a small icon that appears in the browser tab next to the website's title. To create a favicon, follow these steps:

Create the Icon: Typically, favicons are 16x16px or 32x32px.
Save the Icon: Save the icon as favicon.ico.
Link the Favicon in HTML:
    Place the favicon.ico in the root directory of your website.
    Link to the favicon in the <head> section of your HTML.
Enter fullscreen mode Exit fullscreen mode

Example HTML (Favicon):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Website with Favicon</title>
    <link rel="icon" href="favicon.ico" type="image/x-icon">
</head>
<body>
    <header>
        Welcome to My Website
    </header>
</body>
</html>

Enter fullscreen mode Exit fullscreen mode

Conclusion

In conclusion, creating web icons in HTML involves various techniques depending on the type of icon you are using. Whether you're using image files, SVGs, or icon fonts, each approach offers unique advantages in terms of flexibility, performance, and styling. By mastering the integration of web icons, you can enhance the design and functionality of your website, offering a better user experience.

Additionally, icons can be easily customized with CSS, and their usage can be extended across different devices and resolutions. Always ensure that your icons are appropriately sized and accessible, as they are an essential part of modern web design. As part of a larger web development strategy, implementing intuitive and visually appealing icons will contribute significantly to the overall success of your site.

Top comments (0)