Favicon Builder

How to Add Favicons in cPanel, Plesk & Shared Hosting

Published November 28, 2025 · Updated June 9, 2026

Upload your favicon files into your web root (public_html or httpdocs) so they load at /favicon.ico, then add four link tags. cPanel, Plesk & FTP steps.

Upload your favicon files into your site’s web root — the folder that maps to your domain’s top level, usually public_html on cPanel or httpdocs on Plesk. Once they’re there, they’re reachable at https://yoursite.com/favicon.ico, which is exactly where browsers look. Then add four <link> tags to your page <head>. That’s the whole job, whether you use a control panel’s file manager or an FTP client like FileZilla.

In one line: drop the files in your web root, confirm /favicon.ico loads, then paste four tags into <head>.

The mistake that wastes the most time isn’t uploading — it’s uploading to the wrong folder, then wondering why the browser still shows a blank icon. Get the web root right and everything else falls into place.

The files to upload

Generate the modern set first, from one 512×512 source. You’ll be uploading six files:

FaviconBuilder generates that whole set plus the copy-paste HTML and manifest from one upload — free, no account, and the image never leaves your browser. (How to create a favicon from a logo →)

Confirm your web root first

Every host has one folder that serves your domain’s top level. Files there are reachable at the root of your URL — https://yoursite.com/filename. That’s where favicons belong, because browsers request /favicon.ico from the root automatically.

The default folder name depends on your control panel:

Hosting setupWeb root folder
cPanel (primary domain)public_html
cPanel (addon domain)public_html/addon-domain.com/
Pleskhttpdocs
DirectAdminpublic_html (under domains/yoursite.com/)
Generic FTP hostpublic_html, httpdocs, www, or htdocs

If you’re not sure which folder is correct, the fastest test is to upload favicon.ico, then visit https://yoursite.com/favicon.ico in a browser. If the icon loads, that folder is your web root. If you get a 404, the file is in the wrong place.

Uploading via cPanel File Manager

  1. Log into cPanel and open File Manager.
  2. Open public_html (or public_html/addon-domain.com/ for an addon domain).
  3. Click Upload and select all six favicon files plus site.webmanifest. Keep them at the top level of the web root — don’t nest them in an /images/ subfolder.
  4. If cPanel asks to overwrite existing files, confirm it.
  5. Visit https://yoursite.com/favicon.ico to verify it loads directly.

Uploading via Plesk File Manager

  1. Log into Plesk and go to Websites & DomainsFile Manager.
  2. Open the httpdocs directory for the correct domain.
  3. Drag the favicon files in, or use the Upload button.
  4. Leave permissions at the default (644 for files is typical for public assets).
  5. Visit https://yoursite.com/favicon.ico to confirm it serves.

If you manage several subscriptions, double-check you’re editing the right domain before uploading.

Uploading via FTP or SFTP (FileZilla)

When your host only offers FTP/SFTP, or you’d rather not use the panel, an FTP client does the same job:

  1. Open FileZilla and enter the host, username, password, and port from your hosting panel (use SFTP on port 22 where offered).
  2. Connect, then in the right-hand pane open the web root — usually public_html or httpdocs.
  3. Drag the six favicon files and site.webmanifest from the left pane into the web root.
  4. Wait for the transfer queue to finish.
  5. Visit https://yoursite.com/favicon.ico to confirm the upload.

Files go live the moment the transfer completes — there’s no build step on a shared host.

Uploading the files isn’t enough on its own. Add these four tags to the <head> of every page (the SVG and ICO are the workhorses, the Apple touch icon covers iOS, and the manifest carries the PWA sizes):

<link rel="icon" href="/favicon.ico" sizes="32x32">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">

Never use rel="shortcut icon" — it was never a valid relation, and the four tags above replace any long per-size list you’ve seen in older tutorials. (Step-by-step: add a favicon in HTML → · Full tag-by-tag reference →)

Verify by visiting /favicon.ico directly

The single most useful check is to open each file’s URL in the browser, bypassing your HTML entirely:

If those load, the files are on the server in the right place and your only remaining job is the HTML tags. If any returns a 404, the file is in the wrong folder or misnamed. This separates an upload problem from a markup problem in seconds.

MIME types: usually automatic, occasionally not

Most servers already serve .ico, .png, and .svg with the correct content type, so you can skip this section unless something misbehaves. The two extensions that sometimes need a manual rule:

Add these in cPanel under MIME Types, or in Plesk under the domain’s Hosting Settings / Apache & nginx controls. On servers you can’t configure that way, an .htaccess rule works:

AddType image/svg+xml .svg
AddType application/manifest+json .webmanifest

Caching and CDN: the usual reason it “doesn’t work”

Favicons are cached harder than almost any other asset — by the browser, by the host’s own cache layer (LiteSpeed, Varnish), and by any CDN in front of your site (Cloudflare, Fastly). After uploading a new or changed icon, the file can be live on the server while visitors still see the old one.

When that happens, purge the CDN cache and any host-side cache, then do a hard refresh (Cmd+Shift+R / Ctrl+Shift+R). If it still won’t update, the full diagnostic flow is in Favicon Not Showing? How to Check & Fix It.

Static hosts (Netlify, Vercel, Cloudflare Pages)

If you’re not on traditional shared hosting, the idea is identical — only the folder name changes. Drop the favicon files into the directory that gets published to the site root:

In every case the files end up at https://yoursite.com/favicon.ico, and the same four <link> tags apply. There’s no MIME tweaking needed — these platforms set the right content types for you.

Summary

Hosting a favicon comes down to one rule: put the files where the URL root points.

Continue reading:

Frequently asked questions

Where do I upload my favicon files?

Into your site's web root — the folder that maps to your domain's top level. On cPanel that's usually public_html; on Plesk it's httpdocs. Files placed there are reachable at https://yoursite.com/favicon.ico, which is exactly where browsers look.

How do I find my web root folder?

On cPanel open File Manager and look for public_html (addon domains live in subfolders under it). On Plesk it's httpdocs under Websites & Domains. The simplest test: upload favicon.ico, then visit https://yoursite.com/favicon.ico — if it loads, you found the right folder.

How do I upload a favicon over FTP?

Connect with an FTP/SFTP client like FileZilla using the host, username, and password from your hosting panel. Open the web root (often public_html or httpdocs), then drag your favicon files into it. They go live as soon as the transfer finishes.

Why does my favicon still not show after uploading?

Almost always caching. Browsers and CDNs hold favicons aggressively, so a hard refresh or a CDN purge usually fixes it. Confirm the file itself works by visiting /favicon.ico directly — see the not-showing guide if it still won't appear.

Do I need to set MIME types for favicons?

Usually no — servers already serve .ico and .png correctly. The two that sometimes need a rule are .svg (image/svg+xml) and .webmanifest (application/manifest+json). Add those in your panel's MIME-type settings if the browser refuses to load them.

Related guides

← All guides