Table of Contents

Moving your website’s files from one host to another with FTP is the other half of a manual migration — the file half, alongside the database. FTP (File Transfer Protocol) is the standard way to reach the files on a web server directly, and once you can connect, moving files is just downloading them from the old host and uploading them to the new one. It is more approachable than it sounds, and knowing how to do it is a foundational skill for any hands-on site work, not just migration.

This guide covers moving website files with FTP: what FTP is and what you need to connect, connecting to your old host, downloading all your files, the far-faster compressed-archive shortcut, uploading to the new host, and setting the correct file structure and permissions. By the end you will be able to move a site’s files between hosts confidently, and understand where FTP fits in the wider migration.

Animated illustration of website files on a server going live to a website in the cloud

Did you know?

FTP is just a direct door to your server’s files. Moving a site’s files is downloading them from the old host and uploading to the new — and for anything beyond a tiny site, zipping them into one archive first turns hours of transfer into minutes.

What FTP is and what you need

FTP (File Transfer Protocol) is a standard method for transferring files between your computer and a web server. It gives you direct access to the files that make up your website on the server, so you can download them, upload new ones, or move them — which is exactly what a file migration requires. Its more secure variant, SFTP, does the same thing over an encrypted connection and is preferred where available.

To connect via FTP you need two things: an FTP client (a program that manages the connection and transfers, such as a free desktop FTP application) and your FTP credentials from the host — a hostname/server address, a username, a password, and sometimes a port. These credentials are available in your hosting account or control panel, often under an ‘FTP accounts’ or similar section, and they are what authorise your access to the server’s files.

So the prerequisites are simple: an FTP client installed, and the FTP credentials for the host you want to connect to. With those, you can open a direct connection to the server and see your website’s files laid out like folders on your own computer. Understanding FTP as ‘a direct door to your server’s files’ is all the conceptual grounding you need — the rest is practical steps of connecting and transferring.

Connecting to your old host

To start a file migration, you connect your FTP client to the old host using its FTP credentials. In the FTP client, you enter the host’s server address, your FTP username and password, and the port if required (or choose SFTP if the host supports it, for a secure connection), and connect. The client establishes the connection and shows you the server’s file structure.

Once connected, navigate to your website’s root directory — the folder containing your site’s files. This is commonly named public_html, www, htdocs, or similar, depending on the host, and it holds everything: your code, themes or templates, and the media/uploads folder. If you have multiple sites or folders, make sure you are in the correct one for the site you are migrating.

So connecting is a matter of entering the old host’s FTP details in your client and navigating to the site’s root folder. Now you can see all your website’s files, ready to download. If the connection fails, double-check the credentials and try SFTP or the correct port — connection issues are almost always a credential or protocol mismatch. With a successful connection to the old host’s files, you are ready to bring them down to your computer.

Downloading all your files

With your FTP client connected to the old host and showing your site’s root directory, you download everything to your computer by selecting all the files and folders and transferring them down. This copies your entire website’s file component locally, giving you the files half of your migration (and, together with a database export, a full backup).

Make sure you capture everything, especially the media/uploads folder, which holds your images and is usually the largest part — it is easy to let a big folder lag or fail silently on a slow connection, so confirm the download completed fully. The transfer can take a while for a site with many files or large media, since FTP moves files one at a time and thousands of small files are slow to transfer individually.

So downloading is selecting all and transferring down, with care to get the complete set — every folder, especially media. That slowness of file-by-file FTP transfer for large sites is exactly why the compressed-archive shortcut exists, and for anything beyond a small site it is worth using instead of a raw FTP download. But conceptually, this step gives you a complete local copy of your site’s files, ready to upload to the new host.

The faster compressed-archive shortcut

Downloading and re-uploading thousands of files individually over FTP is slow, because each file carries connection overhead — so for any site beyond a handful of files, a much faster approach is to compress everything into a single archive first. If your host’s control panel offers a file manager, you can select all your site’s files there and compress them into one zip archive on the server.

  • Compress on the old server: use the file manager to zip your whole site directory into a single archive.
  • Download one file: transfer just that single archive — dramatically faster than thousands of individual files.
  • Upload one file: transfer the archive to the new host (via the new host’s file manager or FTP).
  • Extract on the new server: unzip the archive on the new host to recreate your full file structure.

This archive shortcut can turn a transfer that would take hours of file-by-file FTP into minutes, because moving one large file is vastly more efficient than moving thousands of tiny ones. It also avoids the risk of some files silently failing to transfer in a huge batch. So wherever your hosts’ file managers allow compressing and extracting, prefer this method for anything but a tiny site — it is faster, more reliable, and less tedious than a raw FTP transfer of every individual file. Plain FTP still works and is fine for small sites or when a file manager is unavailable.

Uploading to the new host

Uploading the files to the new host mirrors the download, in reverse. You connect your FTP client to the new host (using its FTP credentials), navigate to its web root directory (again typically public_html or similar), and upload your files there — either the whole set of files if you downloaded them individually, or the single archive if you used the compressed shortcut.

If you used the archive method, upload the one zip file to the new host’s web root and then extract it there (via the new host’s file manager) to recreate your complete file structure. If you are uploading individual files, transfer them all up, ensuring the same folder structure as on the old host and, again, confirming the media folder and everything else comes across completely.

So uploading is connecting to the new host, going to its web root, and transferring your files (or archive) up. After this, your website’s files sit on the new host in the correct structure, mirroring the old host. Combined with the database (moved separately) and the reconnection step, the files being in place means your site is nearly assembled on the new host — with just the correct structure and permissions to confirm before it will run properly.

Correct structure and permissions

Two final details make the uploaded files actually work: the correct directory structure, and correct file permissions. The structure must match what the site expects — the files need to be in the web root (not in a subfolder), with the same internal folder arrangement as on the old host, so the site’s code finds everything where it expects. If you extracted an archive, check it did not create an extra nested folder that puts your site one level too deep.

File permissions govern what the server is allowed to do with each file and folder — read, write, execute — and they must be set correctly for the site to operate. If permissions are wrong after the transfer, you can see errors or a site that cannot write files (uploads failing, for instance). The conventional safe permissions for a website (commonly folders and files set to standard values your host or platform documents) can be applied via your FTP client or the file manager if needed.

So after uploading, confirm the files are in the right place with the right structure, and that permissions are correct, so the site can read and run its files properly. These are easy to overlook and a common cause of a migrated site that does not quite work despite all the files being present. With the files uploaded, correctly structured, and properly permissioned, the file half of your migration is complete — and the site is ready to be reconnected to its database and tested.

FAQs

How do I move website files with FTP?

Connect an FTP client to the old host with its FTP credentials, navigate to the site’s root directory (public_html or similar), and download all the files. Then connect to the new host, go to its web root, and upload them. For anything beyond a small site, compress the files into one archive first, move that single file, and extract it on the new host — far faster. Then confirm the structure and permissions are correct.

What do I need to connect via FTP?

An FTP client (a program that manages the connection and transfers) and your FTP credentials from the host — a server address, username, password, and sometimes a port. The credentials are in your hosting account or control panel, often under ‘FTP accounts.’ Use SFTP (the secure, encrypted variant) where the host supports it. With those, you get direct access to your server’s files.

What is the fastest way to move files between hosts?

Compress everything into a single archive first. Downloading and re-uploading thousands of files individually over FTP is slow because each carries connection overhead. Instead, use the file manager to zip your whole site into one archive on the old server, download that single file, upload it to the new host, and extract it there — turning hours of file-by-file transfer into minutes, and avoiding files silently failing.

Where are my website files on the server?

In the web root directory, commonly named public_html, www, or htdocs depending on the host. It holds everything: your code, themes or templates, and the media/uploads folder (usually the largest part). When connecting via FTP, navigate to this folder to see all your site’s files. If you run multiple sites, make sure you’re in the correct one for the site you’re migrating.

Why doesn’t my site work after uploading the files?

Common causes are wrong directory structure (files in a subfolder instead of the web root, or one level too deep after extracting an archive that created a nested folder) or incorrect file permissions (which can stop the server reading or writing files). Check the files are in the right place with the same structure as the old host, and that permissions are set to the conventional safe values. Also confirm the media folder came across fully.

Should I use FTP or SFTP?

Use SFTP (the secure, encrypted variant of FTP) wherever the host supports it, since it protects your credentials and data in transit. Plain FTP does the same file-transfer job but without encryption. Both connect the same way in an FTP client — you just choose the protocol and the correct port. For moving website files, either works; SFTP is simply the safer default when available.

The bottom line

Moving your website’s files with FTP is the file half of a manual migration, and it is more approachable than it sounds once you see FTP as simply a direct door to your server’s files. You need two things to start: an FTP client and your FTP credentials from the host (using the secure SFTP variant where available). With those, you connect to the old host, navigate to the site’s web root (public_html or similar), and download everything — code, templates, and especially the large media/uploads folder — to your computer, which together with a database export also gives you a full backup. Then you connect to the new host, go to its web root, and upload the files there, recreating the same structure.

The one technique that transforms this from a tedious slog into a quick job is the compressed-archive shortcut: because file-by-file FTP carries per-file overhead, moving thousands of small files individually can take hours, while zipping your whole site into a single archive on the old server, moving that one file, and extracting it on the new host takes minutes and avoids files silently failing mid-batch — so prefer it for anything beyond a tiny site. Finally, two details make the uploaded files actually run: the correct directory structure (files in the web root, not nested a level too deep) and correct file permissions (so the server can read and write as needed), both of which are easy to overlook and a common cause of a migrated site that does not quite work. Connect, download, upload (ideally as one archive), and confirm structure and permissions: do that, and the file half of your migration is cleanly in place, ready to be reconnected to its database and tested.

When you are ready, you can start with Hostinger and use code PROTIPS for the reader discount. Moving website files with FTP: connect an FTP client (use SFTP if available) to the old host with its credentials, go to the web root (public_html), and download everything — especially the media folder. Upload to the new host’s web root. For any non-tiny site, zip the whole site into one archive first, move that single file, and extract on the new host — hours become minutes. Then confirm correct structure and file permissions.

Scroll to Top