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).

We can explain this using an example: If you have a default filename like index.html or default.html inside your public_html folder, then when someone call your domain name it will display that page. If you don’t have any default file in your public_html directory, then a list of files in the public_html folder will be shown.

You can create addon domains and sub domains in your account and if you have added an addon domain called then it will use the subfolder similar to /public_html/ or if you are added a sub domain called then it will use the sub-folder similar to /public_html/

In Shared hosting accounts, you will get only one cPanel account, which is why all addon domains are sub-folders of the public_html folder. If you do not want the additional domains to be sub-folders of the public_html, then go with the 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.

How to access the public_html folder?

You can access your public_html folder from your cPanel interface. Please follow the below given steps to know about how to access your public_html folder from your cPanel account.

  • Login to cPanel.
  • Navigate to the Files section and click the File Manager icon.
  • You can see the public_html folder on your File Manager page.

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 0644 permissions.