Chris Castiglione Co-founder of Adjunct Prof at Columbia University Business School.

What Is FTP (File Transfer Protocol) and How Do I Use It?

3 min read

File Transfer Protocol (FTP) is one of the easiest ways to upload a website to the Internet. The FTP is a protocol that was first created in 1971. At that time, most file transfer actions were accomplished through manual command-line inputs. Savvy developers decided that it would be much easier to automate the various applications of FTP and collect them together into a program with a graphical user interface called an FTP client.

Every single website on the Internet is hosted on a server. While most hosts (e.g. Hostgator, and Bluehost) offer some sort of file manager, it’s often fairly limited. File Transfer Protocol allows you to upload, download and manage your website’s files. Whether you’re learning Python, HTML, CSS, or JavaScript, FTP is the easiest way to upload your files to the internet.

In this beginner FTP tutorial I’m going to show you get started! 

1. Setup Web Hosting 

Before you can upload anything, you’ll need a web hosting account.  Hostgator is a cheap, and reliable place to start. Alternatively, if you’d like to learn more about some of the various web hosting services you read more and compare Hostgator vs. Bluehost.

After you set up your hosting, you’ll receive a “Welcome” email that has login credentials. Make sure to archive this email, because you’ll need those credentials later.

2. Download your first FTP Client: Cyberduck

There are lots of popular options out there, but if you’re using Windows or Mac, we recommend Cyberduck. It has a long list of features including bookmarks, local-remote synchronization and encryption. Basically, whatever you need to do in terms of file transfer, Cyberduck can get it done. Did I mention that it’s open-source and free?.

It’s also easy to install. Just visit and click the appropriate download link for your system.

How to setup FTP, SFTP and Amazon S3 using Cyberduck
How to setup FTP, SFTP and Amazon S3 using Cyberduck

3. Connect Your FTP Client to Hostgator

In order to use FTP you’ll need to have a host.

Connecting to HostGator with Cyberduck is easy:

  1. Click the “Open Connection” button at the top-left of the Cyberduck window.
  2. Next to “Server:” enter the domain or IP address for your server and make sure the port is set to 21.
  3. Use your cPanel login credentials for the username and password.
  4. Click “connect” and you’re in! If you see yourself managing files on your server frequently, you can save the connection as a bookmark (Bookmarks > New Bookmark).
How to setup FTP with Cyberduck
How to setup FTP with Cyberduck – username and password

4. Upload and Download Files

Once you’re logged in, you’ll see a list of all the files in the home directory for your user. You can browse through them the same way you do the filesystem on your own computer. Click on the small arrows next to folders in order to expand and contract them. Right-click on any folder or file for a list of actions you can perform on the file (or in the folder you clicked in)

How do I upload files?

Uploading files is easy, just right-click, select “Upload” and browse your local filesystem for the file or folder you need to move to the server. Downloading works much the same. Take note that the default “Download” action automatically pulls files down to your default download folder. If you want to rename or choose the location of the download, select “Download As”.

What is “synchronize”?

A powerful feature you should be aware of is the “Synchronize” action. Suppose you have a local copy of your website and that you’ve edited a handful of files within different folders of your website. Instead of individually uploading each updated file, you can simply right-click the top-level folder for your site and synchronize it with your local copy. Everything you changed will be updated. In the process, you can un-check any files that you don’t want updated.

5. Cyberduck Special: Modifying Files

One of the most powerful features that Cyberduck offers is the ability to edit remote files with your choice of software on your local system. Technically you aren’t editing the file while it’s on the server, as Cyberduck downloads the file, opens it with your preferred editor, then uploads the file when you save it. However, this all happens automatically. The effect is such that you can modify your website almost as conveniently as if it were on your local system.

FTP vs. SFTP, what’s the difference?

SFTP (Secure File Transfer Protocol) is the same as FTP but encrypted (i.e. “secure”). If your hosting plan offers SFTP, there’s no reason not to use it.


FTP with Cyberduck is an efficient, easy and powerful way to manage the files on your server. Once you’ve set-up your connection, organizing, renaming and editing your files is almost exactly like doing so in your local file browser, but with “Upload”, “Download”, and “Synchronize” actions to manage files between two systems. Once you’ve made the switch, you’ll probably never use a browser-based file manager again!

Learn to Code Comment Avatar
Chris Castiglione Co-founder of Adjunct Prof at Columbia University Business School.