Skip to main content

How to set up and manage an FTP server on Windows 10

Building your own FTP (File Transfer Protocol) server can be one of the easiest and most convenient solutions to transfer file through a private or public network without limitations and restrictions typically found with most cloud storage services.

There are also many benefits running your FTP server. For example, it's private, and you have absolute control. It's fast (depending on your internet connection speeds), and there is virtually no limits on the amount and type of data you can store.

Also, you don't have restrictions on file sizes either, which means that you can transfer something as small as a text file or a 1000GB PC backup, and you can even create multiple accounts to let friends and family access or store content remotely too.

You'll find many third-party software on the internet to build a file transfer server, but Windows includes an FTP server feature that you can set up without the need to resource to other solutions. In this Windows 10 guide, we'll walk you through the steps to successfully set up and manage an FTP server on your PC to transfer files from your home network or remotely over the internet.

How to install an FTP server on Windows 10

Very similar to previous versions, Windows 10 includes the necessary components to run an FTP server. Follow the steps below to install an FTP server on your PC:

  1. Use the Windows key + X keyboard shortcut to open the Power User menu and select Programs and Features.
  2. Click the Turn Windows features on or off link.

  1. Expand Internet Information Services and check the FTP Server option.
  2. Expand FTP Server and check the FTP Extensibility option.
  3. Check Web Management Tools with the default selections.
  4. Click OK to begin the installation.

  1. Click Close.

How to configure an FTP site on Windows 10

After installing the necessary components to run an FTP server on your PC, you need to create an FTP site using the following instructions:

  1. Use the Windows key + X keyboard shortcut to open the Power User menu and select Control Panel.
  2. Open Administrative Tools.
  3. Double-click Internet Information Services (IIS) Manager.

  1. Expand and right-click Sites on the Connections pane.
  2. Select Add FTP Site.

  1. Name your new FTP site and enter the path to the FTP folder you want to use to send and receive files.Note: You can also use the Make New Folder button to create a specific folder to store your FTP files.
  2. Click Next.

  1. On Binding and SSL Settings leave all the default settings, but change the SSL option to No SSL.Note: It's worth pointing out that in a business environment or on an FTP server that will host sensitive data, it's best practice to configure the site to require SSL.
  2. Click Next.

  1. On Authentication, check the Basic option.
  2. On Authorization, select Specified users from the drop-down menu.
  3. Type the email address of your Windows 10 account or local account name to allow yourself access to the FTP server.
  4. Check the options Read and Write.
  5. Click Finish.

How to allow an FTP server through Windows Firewall

If you have Windows Firewall running on your computer, then the security feature will block any connections trying to access the FTP server. Use the steps below to allow the FTP server through the firewall.

  1. Open the Start menu, do a search for Windows Firewall, and press Enter.
  2. Click the Allow an app or feature through Windows Firewall link.

  1. Click the Changes settings button.
  2. Select FTP Server and make sure to allow it on a Private and Public network.
  3. Click OK.

At this point, you should be able to use your favorite FTP client to connect your newly created FTP server from your local network.

Note: Make sure to check your software vendor support website for specific instructions to allow an FTP server, if you're using another security software other than the Windows Firewall.

How to configure a router to allow external connections

For your FTP server to be reachable from the internet, you need to configure your router to open TCP/IP port number 21 to allow connections to your PC.

The instructions to forward a port will vary from router-to-router, but below you'll find the steps to configure most routers. (For more specific instructions to forward TCP/IP ports, you should check your router's manufacturer support website.)

  1. Use the Windows key + X keyboard shortcut to open the Power User menu and select Command Prompt.
  2. Type the following command: ipconfig and press Enter.
  3. Make note of the Default Gateway IP address, which is the IP address of your router. Typically, it's private address in the 192.168.x.x range. For example, 192.168.1.1 or 192.168.2.1.

  1. Open your default web browser.
  2. On the address bar enter the router's IP address and press Enter.
  3. Sign-in with your router credentials.
  4. Find the Port Forwarding section -- usually you'll find this feature under the WAN or NAT settings.
  5. Create a new port forwarding that includes the following information:
    • Service name: You can use any name. For example, FTP-Server.
    • Port rage: You must use port 21.
    • PC's TCP/IP address: Open Command Prompt, type ipconfig, and the IPv4 address is your PC's TCP/IP address.
    • Local TCP/IP port: You must use port 21.
    • Protocol: TCP.

  1. Apply the new changes, and save the new router configurations.

How to access an FTP server from any PC

Here's the quickest way to test your FTP server, after configuring the firewall, and forwarding port 21 on your router.

Open your default web browser and in the address bar type your Windows 10 PC IP address, on an FTP link format, and press Enter. The address should look like this: FTP://192.168.1.105.

Note: I'm using Internet Explorer, because Microsoft Edge seems not to include the functionality to browse FTP sites. You can also opt to use Chrome, Firefox, or another modern web browser.

To test if your FTP server is reachable from the internet, visit Google or Bing, do a search for "What's my IP?". Note your public IP address from the results and type it into the address bar using the FTP link format and press Enter.

If you get a login prompt, then everything is working as expected. Simply enter your account credentials and you're should be able to sign-in.

How to upload files to an FTP server on Windows 10

Keep in mind that the method shown above is only useful to test, browse, and download files from an FTP site. You have to use the following instructions to be able to browse, download and upload files.

  1. Use the Windows key + E keyboard shortcut to open File Explorer.
  2. On the address bar type your public IP address on an FTP format. For example, FTP://172.217.3.14.
  3. Enter your username and password.
  4. Check the Save password option.
  5. Click Log On.

Using this method, you can browse, download, and upload files as if FTP server was just another drive connected to your computer.

Furthermore, you can also right-click Quick Access on the left pane and select Pin current folder to Quick Access to easily reconnect to the FTP server at a later time.

Quick Tip: You're not limited to use only File Explorer, you can use any FTP client like the popular FileZilla open source software to transfer files over a local or public network.

How to create multiple FTP accounts on Windows 10

If you want to allow other people to access your FTP server too, you can create multiple accounts with specific permissions to download and upload files.

To let other people access to your FTP server, you need to create a new Windows 10 account for each user, associate each account with the FTP home directory, and configure the appropriate settings. Follow the steps below to accomplish these tasks:

Add a new user account on Windows 10

  1. Use the Windows key + I to open the Settings app.
  2. Click Accounts.
  3. Click Family & other users.
  4. Click Add someone else to this PC.

  1. Click the I don't have this person's sign-in information link.

  1. Click the Add a user without a Microsoft account link.

  1. Enter the new user account information and click Next to complete the task.Note: This account will be accessed from the internet, as such make sure to use a strong and secure password.

Add a new user account to access the FTP folder

  1. Right-click the FTP folder and select Properties.
  2. Click the Security tab.
  3. Click Edit.

  1. Click Add.

  1. Enter the user account name and click Check Name.
  2. Click OK.

  1. On Group or user names, select the user account you just created, and select the appropriate permissions.

  1. Click Apply.
  2. Click OK.

Configure a new user account to access the FTP server

  1. Use the Windows key + X keyboard shortcut to open the Power User menu and select Control Panel.
  2. Open Administrative Tools.
  3. Double-click Internet Information Services (IIS) Manager.
  4. Expand Sites.
  5. Select the FTP site and double-click Authorization Rules.

  1. Right-click on and select Add Allow Rules from the context menu.

  1. Select Specified user and enter the name of the Windows 10 user account you created earlier.
  2. Set the Read and Write permissions you want the user to have.
  3. Click OK.

Now the new user should be able to connect to the server with their own credentials. Repeat the steps mentioned above to add more users to your FTP server.

Wrapping things up

In this guide, you learned to set up and manage your own private FTP server without third-party software, and we've shown you different methods to access your files remotely. Just remember that your PC must be turned on and connected to the internet for the FTP server to work, you won't be able to access any files if your computer is in Sleep or Hibernation mode.

The FTP feature is available on Windows 10 Pro as well as on Windows 10 Home, and previous versions of the operating system.

Windows 10 resources

For more interesting guides, tips, coverage, and answers on Windows 10, you can visit the following resources:

Mauro Huculak is technical writer for WindowsCentral.com. His primary focus is to write comprehensive how-tos to help users get the most out of Windows 10 and its many related technologies. He has an IT background with professional certifications from Microsoft, Cisco, and CompTIA, and he's a recognized member of the Microsoft MVP community.

34 Comments
  • Great article! I'd reccomend getting a Dynamic DNS service (such as noip.com) so you can set up an easy address that 1) you will remember and 2) will conect to your IP address even if it changes. 
  • Thanks. Those are good free DDNS services suggestions, and the best part is that you can set those configurations in most routers nowadays.
  • Cool, I'm going to try this. Always wanted a simple file sharing mechanism
  • You can install Filezilla server in the time it takes to read the first 25% of this article :/
  • My point as well, couldn't make it work with the builtin FTP worked instantly avec FileZilla! :) what's with the captcha it's really annoying!!!
  • I like these guides. Even the obvious ones, they help me to figure out if I'm still doing things the right way or to learn new ways to accomplish the same.
  • I would highly recommended using Filezilla Server over windows ftp server. Its free and has many more features that no only provide bandwidth control options, but more importantly, additional security features - such as auto banning an IP address after N failed login attempts. This is a VITAL feature as FTP servers are the greatest target for hackers.
  • Just make sure you DONT leave anonymous open.... If you leave it open, people over the net will find it(they can do FTP searches and find it if left on for a few days) and next thing you know you will have a Warez site on it.... I did that once by mistake(years ago on my private 2003 server (that I no longer have) and when I was traveling I was trying to access it and I could not. I found out that a warez site was created and had 2000 people trying to connect that killed my connection.... It is nice if you need to access files from a remote location. Or the easier way is just use your Onedrive...
  • Bad advice to use unencrypted connection.
  • I agree. The article was good, but turning off SSl is too scary... There is no good reason not to enable SSL 99 of the time... The speed is not worth the risk. I have and still run a few private and FTP servers... People will try to get it... And people sniff networks... So encrypting the connection is best... I know speed is slower, but worth it... I also have a VPN to my home... I do not use public wifi and use my phone... But I will VPN of anything is really sensitive.
  • I just need telnet server back. Windows 10 removed it.
  • why do you need telnet when you have powershell?
  • for simple stuff... but hey you can install cygwin, and on top of it the SSH server... why the heck you won't show me the captcha in the firs place, but only AFTER I click COMMENT the 1st time?!?
  • Many thanks for the article, I failed to setup a FTP server on Windows 10 earlier this year, but with this article it worked like a charm. Great tool if you want to copy stuff from your computers to a central server at home.  
  • It's OK if you use FTP only in home network. But in public network, use FTP over SSL or other secure protocols. FTP is very insecure. Posted via the Windows Central App for Android
  • "How to access an FTP server from any Windows Mobile"
    Was expecting this... :(
  • There was a putty app in the works but dont think it got far
  • The app called Total Commander has FTP ability.  Also does SMB, onedrive and others.  The interface isnt the best in my opinion, but it works.
  • Asuswrt(rt-n66) in picture?
  • Edge desktop CAN browse FTP sites. Although I couldn't get it to work in Edge Mobile.
  • And now I see the advantages of file-sharing sites such as OneDrive and Dropbox over FTP.
  • For some reason my router settings don't have port forwarding. Oh well
  • It works until you try to connect from outside. Then you realize FTP uses one more random port other than 21. Which is a PITA to setup for IIS. Just use Filezilla.
  • Great article on setting up FTP.  Using DDNS and buying a domain name could really pull at this together but.... Huge security issue with this setup!!!!  Basic auth + not using SSL = your passwords will be stolen.  Basic authenication passes your username and password over the network/internet in CLEAR TEXT(base64 but anybody crack this).  I'm shocked about the lack of a disclaimer about using it this way from a Microsoft MVP.  PLEASE UPDATE YOUR ARTICLE ASAP!
  • Ok. Great. Will try it Asap
  • Was thinking of setting something like this http://www.ex-parrot.com/~pete/upside-down-ternet.html up when I get my rt-n66 back from repair just for $h1t & giggles
  • Good article, and thanks for that, but doen't work for me :
    Using Windows 10, i have added the IIS FTP features (extended too).
    When i go to ftp://localhost (or ftp://192.168.1.25, wich is the PC IP), i can access to the FTP login modal (asking me username and password) but i'm stuck here. No login works.
    I'have created a dedicated user, adding it into the folder permissions, adding it into the IIS FTP Permissions rules but nothing.
    Restarting the service, restarting the PC... Nothing : nobody can authenticate in my server.
    My god but... Why ? Why can't we juste do "Right click > Add local FTP user" ??? I juste want a deposit zone ! :(
  • OH MY GOD !
    We have to specify the PC HOSTNAME into the login !!!
    My PC name is "localsrv", and my user is "ftpusr" :
    Login with "ftpusr" doen't work, but login with "localsrv\ftpusr" work...
    This is incredible and absolutely complex and useless.
    I'll search if ther is a solution to prevent that... strange thing.
  • Thanks for sharing. I think FTP clients are definitely losing ground to other options such as web rtc. This is likely due to issues of security and speed. Businesses and confidential doc related transfers also tend to seek out other solutions. For work related large file transfers I'd take a look at Innorix DS.
  • Hey Microsoft Kudos for implementing FTP in such a way that there is no FTP binding, and moreover once you've added a "FTP website" one cannot easily edit its properties... so after a couple of tries where connexion won't work even on localhost (it says connected to my PC but no prompt for login), i've completely disabled firewall, to no avail... disabled FTP (of course now windows says reboot (but it had no problem activating it without reboot). So downloaded FileZilla and lo and behold it works like a charm!
  • I've tried, It's working great over a Private IP address, but when I'm trying to connect it using Public IPV6 or IPV4 address (searched address by bing and google), its not working. Can some one assist, I'm using window 10.
  • Great write-up but could not connect locally. Decided to try filezilla and had it working in 5 minutes. Do yourslf a favor and download/setup XAMPP, startup filezilla, goto xampp control panel and start filezilla admin, edit the filezilla settings under edit menu and connect to your ftp site. so much easier than windows 10 ftp server
  • Good Article. However in most cases "outside" access to the FTP server will NOT work until one additional step is completed. This is apparent from the number of comments saying that they could not get it to work. Here is the additional step. In Windows Firewall, click on "Allow another App". The browse to your windows\system32 folder and find the file "svchost.exe". Add that to your allowed apps and check the two boxes. You have to do this FTP uses other ports that are randomly selected. For those of you who got it to work without this additional step, some other application may have added svchost to the allow list or the necessary ports may have already been open by another service. Anyway, this will do the job.  
  • This never works.