How to Upload Website Files With File Manager or FTP
Upload your website to hosting with cPanel File Manager or an FTP client: where the files go, how to connect securely, setting permissions, and fixing the most common upload errors.

Table of Contents
To upload a website to cPanel hosting, put the site's files in the document root of the domain, which is public_html for the main domain. For a handful of files or a single ZIP archive, use cPanel File Manager in your browser. For many files or regular uploads, use an FTP client such as FileZilla, preferably over SFTP or FTPS so your password and files are encrypted.
Where the files go
| Domain | Typical document root |
|---|---|
| Main domain | public_html |
| Addon domain | The folder chosen when the domain was added (shown in cPanel → Domains) |
| Subdomain | Its own folder, also shown in cPanel → Domains |
The home page file (index.html or index.php) must be directly inside the document root, not inside an extra subfolder. Remove any placeholder index.html the host added if your site uses index.php.
Method 1: cPanel File Manager
Best for: uploading a ZIP of the whole site, or a few files.
- Log in to cPanel and open Files → File Manager.
- Open
public_html(or your domain's document root). - Click Upload and select your files, or a ZIP archive of the site.
- For a ZIP: go back to the folder, right-click the archive and choose Extract.
- If the extraction created an extra folder (for example
public_html/mysite/), move its contents up intopublic_html. - Delete the ZIP afterwards.
To see hidden files such as .htaccess, click Settings and tick Show Hidden Files (dotfiles).
Method 2: FTP client (FileZilla)
Best for: many files, large sites, and repeated updates.
Create an FTP account (optional)
In cPanel → Files → FTP Accounts, create an account limited to the folder it needs. This avoids sharing your main cPanel password with developers. Delete accounts you no longer need.
Connect
In FileZilla's Site Manager, add a new site:
| Setting | Value |
|---|---|
| Protocol | SFTP if your plan includes SSH access; otherwise FTP with "Require explicit FTP over TLS" |
| Host | Your domain or the server hostname from your welcome email |
| Port | 22 for SFTP (or the port your host specifies); 21 for FTP/FTPS |
| Logon type | Normal (or Key file for SFTP keys) |
| User | The FTP username (often [email protected]) or cPanel username |
| Password | The account's password |
Avoid plain, unencrypted FTP: it sends your password in clear text.
Upload
- In the right-hand (remote) pane, open
public_html. - In the left-hand (local) pane, open your site folder.
- Select the files and drag them to the remote pane.
- Check the transfer queue at the bottom for failed transfers and retry them.
Step 3: Set permissions
Typical safe values on cPanel hosting:
- Files: 644
- Folders: 755
- Sensitive configuration files (such as
wp-config.php): stricter where supported, for example 600 or 640
Never use 777. In File Manager, right-click → Change Permissions; in FileZilla, right-click → File permissions.
Step 4: Check the site
Visit your domain in a private browser window. If you see the host's default page, the files are in the wrong folder or the placeholder index.html is still there.
Worked example: uploading a static site
A designer hands over a finished static website as a folder containing index.html, about.html, contact.html, a css folder, a js folder and an images folder.
- On the computer, open the folder and select its contents (not the folder itself), then compress them into
site.zip. - In cPanel File Manager, open
public_htmland delete the host's placeholderindex.htmlif it exists (after checking it is not something you need). - Upload
site.zipand extract it.index.html,css,jsandimagesnow sit directly inpublic_html. - Delete
site.zip. - Visit the domain: the home page loads. Check that images and styles load; broken styles usually mean the paths in the HTML do not match the folder names (they are case-sensitive on Linux servers:
Imagesandimagesare different).
Keeping a local copy in sync
When you edit files on your computer and upload changes regularly:
- FileZilla's directory comparison highlights files that differ between local and remote.
- Upload only changed files, and keep a dated copy of the previous version before overwriting important files.
- For frequent updates, consider version control (Git) and a deployment process, which records every change and makes rollbacks easy.
Troubleshooting
| Problem | Fix |
|---|---|
| "Index of /" listing or default page | Home page file missing from the document root, or files in a subfolder |
| 403 Forbidden | Permissions wrong, or no index file; see common hosting errors |
| 500 error after upload | Bad .htaccess or PHP error; check the error log |
| Upload fails for large files | File size limit; use FTP or upload a ZIP in parts |
| FTP connection refused | Wrong protocol or port, or IP blocked after failed logins; ask support |
| Disk quota exceeded | Free space or upgrade the plan |
Frequently Asked Questions
Should I use FTP or File Manager?
File Manager for quick, small uploads and ZIP extraction; SFTP for larger sites and regular work.
Do I need to upload a database too?
For dynamic sites (WordPress, Laravel), yes: create a database and import it. See how to create a MySQL database in cPanel.
Related reading
For moving a complete site, see how to move a website to a new host without downtime. cPanel, with its File Manager, is included with the ServerNeed shared hosting plans.
For the fundamentals of where your files live, see what is web hosting.
Sources
Last updated 7 October 2026



