LESSON 11.5

FTP

Upload your website files to your hosting server

Learn how to use FileZilla to connect to your hosting server via FTP and upload your website files so they are live on your domain.

💡 The Concept

Using FTP to upload website files is the traditional way to transfer your local project to a hosting server so it goes live on your domain. FTP stands for File Transfer Protocol. It is how web developers move files from their computer to a web server. Once you understand it, you have direct control over everything in your hosting account.

Local Files vs. Remote Files

FTP software shows you two panels at once:

  • Local files (left panel): the files on your own computer
  • Remote files (right panel): the files on your hosting server

To publish your site, drag files from the left panel to the right. To download a backup, drag from right to left.

FTP software showing local files on the left and server files on the right
FTP shows your local files on one side and the server files on the other.

FileZilla: The Most Popular Free FTP Client

FileZilla is the standard FTP application for web developers. It is free and available for Mac and Windows.

Download it from: filezilla-project.org

Connecting to Your Server

Your hosting provider will give you FTP credentials, usually found in your hosting control panel. You will need:

  • Host: your domain name or server IP address
  • Username: your FTP username
  • Password: your FTP password
  • Port: 21 (the default FTP port)
FileZilla showing the connection bar where you enter host, username, password, and port
Enter your FTP credentials in the FileZilla toolbar and click Quickconnect.

After connecting you should see the message: Directory listing of ‘/’ successful. That means you are in.

Uploading Your Website

  1. On the right (server) side, navigate into the public_html folder. This is the root of your website.
  2. On the left (local) side, navigate to your project folder.
  3. Select all your files and folders and drag them to the right panel.
FileZilla showing local project files on the left being dragged to the server on the right
Drag your files from the left (local) to the right (server) to upload.

Rules to Follow

  • index.html must be directly inside public_html, not inside a subfolder. If it is buried in a folder, your site will not load.
  • Keep your folder structure intact: if your images are in an images/ folder locally, upload that folder too. If the path changes, your images will break.
  • Use lowercase filenames: servers are case-sensitive. Photo.jpg and photo.jpg are treated as different files. Your computer may not catch this, but the server will.
  • Avoid spaces in filenames: use hyphens or underscores instead. Spaces cause broken links on servers even when the file is there.

Exercise: Try It Yourself

Step 1. Download and install FileZilla.

Step 2. Log in to your hosting control panel and locate your FTP credentials (host, username, and password).

Step 3. Enter your host, username, password, and port 21 in the FileZilla toolbar and click Quickconnect.

Step 4. On the server (right) side, navigate into the public_html folder.

Step 5. On the local (left) side, navigate to your project folder. Select all your files and drag them to the right panel.

Step 6. Visit your domain in a browser to confirm the site is live.

Frequently Asked Questions

Is FTP secure?

Standard FTP is not encrypted, which means your credentials are sent in plain text. Many hosts offer SFTP (Secure FTP), which encrypts the connection. FileZilla supports both — just use port 22 instead of 21 when connecting via SFTP. Use SFTP whenever your host supports it.

My files uploaded but the site is not showing. What is wrong?

The most common cause is that index.html ended up inside a subfolder rather than directly in public_html. Open FileZilla, check the server side, and confirm index.html is at the top level of public_html. If DNS propagation is still in progress after a recent domain change, give it a bit more time and use whatsmydns.net to check.

Can I update just one file without re-uploading everything?

Yes. Navigate to the correct folder on both sides in FileZilla and drag just that one file to the server. It will replace the existing version. This is how most day-to-day updates work once your site is live.

What is the public_html folder?

It is the root folder of your website on the server. Anything placed directly inside public_html is accessible at your domain. Files stored outside of it are not publicly visible, which is also how hosts keep sensitive files like configuration or database backups private.

Key Takeaways

FTP gives you direct access to your hosting server so you can upload, update, or back up your website files at any time. The key habits to build are keeping your folder structure consistent and using lowercase filenames. Next, you will learn about GitHub Pages, a free way to publish a website without FTP or paid hosting.

Google Ads

The costs of this website are partially offset by revenue from Google Ads.

Tools of the Trade

HTML/CSS Lessons