How to upload file in public_html folder?

The public_html folder is the web root for your primary domain name.

This means that public_html is the folder where you put all website files which you want to appear when someone types your main domain (the one you provided when you signed up for hosting).

Or put another way, when someone types your domain name into their browser, whatever is in the public_html folder is what will be shown to them.


For example, if you have a file called index.html (or any of the other default filenames) in the public_html folder, it will display that page.

If you do no have a default file in the public_html folder (such as index.htmldefault.html, etc.), then a list of files in the public_html folder will be shown.

Path in File Manager (or in FTP)* Corresponding URL in a Web Browser

Replace with the primary domain on your account (the one you originally signed up with, unless you changed it).

Addon Domains & Subdomains

You can also create Addon domains and Subdomains, and these will use a folder inside public_html.


You can create an Addon domain called and it will use a subfolder similar to /public_html/ (unless you specified otherwise).

Or you could create a Subdomain called and it would use a subfolder similar to /public_html/web/ (unless you specified otherwise).

If is defined as a subdomain, and is defined as an addon domain, then the following examples apply:

Path in File Manager (or in FTP)* Corresponding URL in a Web Browser

Replace with the primary domain on your account (the one you originally signed up with, unless you changed it). Replace with the additional domain you added in the "addon domains" section of cPanel.

If you do not want additional domains to be subfolders of public_html, then reseller, VPS or dedicated hosting is a better solution, since you can put each domain in its own cPanel to keep it separate from other domains. Shared accounts only get one cPanel, which is why all addon domains are subfolders of the public_html folder.


The public_html folder should always have 0750 permissions.

All folders inside the public_html folder should have 0755 permissions.

All files inside the public_html folder should have 0755 or 0644 permissions.

Some websites and scripts may advise you to use 777 permissions, however, our servers are configured to use 755 for the same purpose instead, since it is more secure.  Permissions of 777 on any file or folder will cause the file to be inaccessible.  Use 755 instead of 777.

*The full path is actually /home/username/public_html/ (where username is your cPanel username) rather than /public_html/ but in most places you will see /public_html/ instead of the full path, since it assumes you know you are in your own home directory.

  • public_html, upload files, directory access, permission
  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

How to show hidden files (.htaccess) in cPanel File Manager?

Many users ask us how they can see the .htaccess files for their websites in cPanel File Manager....

How Can I Compress / Uncompress Files Using the File Manager?

How to Compress Files Go to the File Manager. Navigate to the folder where the files you want...

How to View Your cPanel Disk Space Usage?

In order to view your cPanel disk space usage, there’s a great tool located inside of your...

Accessing webmail for your domain

To access the included webmail email clients included with your hosting account, you’ll need to...

How to rename a database in phpMyAdmin?

phpMyAdmin is a free and opensource application for MySQL database management. It is one of the...