Adding a Favicon to Your Django Application

Having a favicon – that tiny icon that appears next to your website’s name in the browser tab – is a simple way to polish your Django web application. Afavicon allows users to quickly identify your site and creates a sense of professionalism. Additionally, setting up afavicon in Django only takes a few steps.

What Is a Favicon?

First things first – what is a favicon? AFavicon (which stands for favorites icon) is the 16×16 or 32×32 pixel icon associated with a website, typically displayed in the browser tab next to the title of the web page. It serves as a visual cue to help users identify which website they have open at a glance.

In other words, theFavicon is like a logo for your website. Even on a user’s first visit, displaying a polished custom icon – rather than the generic default web page icon – promotes brand recognition. So adding a favicon is an easy way to make your Django application look more visually appealing as soon as it loads.

Finding or Creating a Favicon File

Before proceeding, you need to have a file containing the favicon image you want to use. Favicons are generally basic images such as company logos and symbols.

Some popular options for obtaining a favicon include:

  • Designing your own favicon in an image editing program and exporting it
  • Downloading a freeFavicon template online
  • UsingFavicon generator to create one with your chosen colors/text

The most crucial requirements are that the file must be named favicon.ico and the image should be 16×16 or 32×32 pixels.

Adding the Icon to the Django Project Templates

Now we’re ready to connect the favicon in Django. We just need to configure our app to find and load this icon file.

Primarily, add your favicon.ico file to the root static files directory for your Django project – the one specified in your project’s STATICFILES_DIRS setting. You can create a folder called /static if you don’t already have one.

Then open your app’s base.html or any other root template files in your templates directory. At the top, add this <link> tag inside the <head> section:

<link rel="shortcut icon" href="{% static 'favicon.ico' %}">

This **tells Django** to load the favicon file from our static folder.

Testing in the Browser

With the favicon configured, we can check that it works correctly. Run your Django development server with `python runserver` if it’s not already running.

Open up your home page in the browser – you should now see your shiny new favicon icon next to the page title! **You can additionally** visit any other app pages to confirm the icon displays there too.

Customizing Display

By default, favicons only appear beside page titles in browser tabs. However, you can force them to always be shown in the address bar too.

In your `base.html`, add this extra `<link>` tag below the favicon line:

<link rel="icon" href="{% static 'favicon.ico' %}">

Now refresh and you should see your favicon icon twice – next to both the title and URL.

This makes your icon even more visible to visitors. It’s one final polish for a professional look.


Adding a simple favicon can significantly improve branding and polish for any Django web application. With just a few lines of code, you can configure Django to show a custom icon file on all pages.

As you build out your app, take advantage of small enhancements like favicons to create a cohesive experience. Signifying ownership through consistent visual elements – from icons to color schemes – leads users to trust and recognize your brand. A favicon is one step toward this goal.