sodcalculator

10 Tech How-To

TFTP Server Setup on Windows 10

Guide 10-42898 · Updated · Step by step

This guide walks you through installing and configuring a TFTP (Trivial File Transfer Protocol) server on Windows 10, so you can transfer files to network devices like routers, switches, IP phones, or even other computers without the overhead of FTP or SMB. You’ll enable the built-in Windows TFTP client and server, configure the service to run automatically, and test the transfer with a few commands.

What You’ll Need

  • Windows 10 (any edition, 64-bit or 32-bit)
  • Administrator access to the PC
  • A folder on your hard drive where TFTP files will be stored (e.g., C:\TFTP-Root)
  • Optional: a TFTP client on another machine to test the server (Windows includes one, or you can use a third-party tool)
  • Network access – the server must be reachable from the devices that will connect to it

Step-by-Step

  1. Create a TFTP root folder. Open File Explorer, go to your C: drive, create a new folder named TFTP-Root (or any name you prefer). This is where all incoming and outgoing files will live. Note the full path, e.g., C:\TFTP-Root.
  2. Open Windows Features. Press Windows Key + R, type optionalfeatures.exe, and press Enter. This opens the Windows Features dialog.
  3. Enable TFTP components. In the list, expand TFTP Client and TFTP Server – actually, both are separate entries. Look for TFTP Client and TFTP Server under the Simple TCPIP services or directly in the list. Check both boxes. Click OK. Windows will install the components; you may need to restart if prompted.
  4. Open Services. Press Windows Key + R, type services.msc, and press Enter. Scroll down to find TFTP Server (the service name is TFTPD).
  5. Configure the service. Right-click on TFTP Server and select Properties. Set Startup type to Automatic (so it starts every time Windows boots). Click Start to launch it now. Click OK.
  6. Set the root directory. The TFTP service uses a registry key to know where to store files. Open Registry Editor (press Windows Key + R, type regedit, press Enter). Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TFTPD\Parameters.
  7. Edit the RootDirectory value. Double-click the RootDirectory value (it’s a REG_SZ type). Change its data to your TFTP root folder path, e.g., C:\TFTP-Root. Click OK.
  8. Set security permissions. By default, the TFTP service runs under the LocalSystem account. To avoid permission errors, right-click your TFTP-Root folder in File Explorer, select Properties, go to the Security tab, and click Edit. Add Everyone with Full control (or at least Read/Write). This is not ideal for a production environment, but for a home lab it’s fine.
  9. Restart the service. Go back to Services (services.msc), right-click TFTP Server, and choose Restart to apply the new root directory.
  10. Test the server. Open Command Prompt (as administrator) and run tftp -i 127.0.0.1 put test.txt after creating a test.txt file in the current directory. If you get a “Transfer successful” message, the server is working. To test a download, run tftp -i 127.0.0.1 get test.txt.
  11. Allow through firewall. If you plan to connect from other devices, you must allow TFTP (UDP port 69) through Windows Firewall. Open Control Panel > Windows Defender Firewall > Advanced Settings > Inbound Rules > New Rule. Choose Port, then UDP, and enter 69. Allow the connection, and apply to all profiles. Name it “TFTP”.
  12. Optional: Change the default port. If you want to use a non-standard port, edit the Port value in the same registry key (REG_DWORD). The default is 69. After changing, restart the service.

Common Mistakes

  • Forgetting to set the root directory: The service will default to C:\Windows\System32\drivers\etc or similar, which often causes permission errors. Always set it explicitly.
  • Not restarting the service after registry changes: The service reads the registry only at startup. If you don’t restart, changes won’t take effect.
  • Firewall blocking: Even if the service runs, Windows Firewall will block incoming TFTP traffic unless you add an inbound rule. This is the most common reason for “timeout” errors.
  • Using the wrong transfer mode: TFTP has two modes: netascii (text) and octet (binary). For firmware or images, always use octet (the -i flag in Windows tftp).
  • Permissions on the root folder: The service account must have write access. If you get “Access denied” errors, check folder permissions.

Tips

  • Use a dedicated folder for TFTP, not your Desktop or Documents, to avoid clutter and permission issues.
  • For better security, consider using a third-party TFTP server that supports user authentication and IP restrictions – the built-in one is basic.
  • If you’re transferring large files, TFTP is slow (it uses UDP with no congestion control). For large files, consider FTP or HTTP.
  • Test with a small file first to verify the setup before transferring firmware or configuration backups.
  • To see detailed logs, enable the “TFTP Server” log in Event Viewer under Applications and Services Logs, or use a third-party tool.

Troubleshooting

  • “Transfer timed out” error: Check the firewall rule, ensure the server is running (services.msc), and verify the IP address is correct. Also check that the client and server are on the same subnet or have routing.
  • “Access denied” error: Verify the root directory permissions. Right-click the folder > Properties > Security > Edit > Add “Everyone” with Full control. Also ensure the path in the registry is correct.
  • Service won’t start: Check Event Viewer for errors. Often it’s because the root directory doesn’t exist or the service account doesn’t have permission to it. Create the folder and set permissions.
  • File transfer is corrupt: Make sure you’re using binary mode (octet). In Windows tftp, use -i flag. If you’re using a GUI client, select “Binary” or “Octet”.
  • Cannot connect from another device: Run netstat -an on the server to see if UDP port 69 is listening. If not, the service isn’t running. Also, check that the firewall rule is enabled and applies to the correct network profile (Private/Public).
  • After changing registry, nothing works: Restart the TFTP service. If that doesn’t help, reboot the PC.

Frequently Asked Questions

Is TFTP secure?

No, TFTP has no encryption or authentication. It’s meant for LAN use only. Do not expose it to the internet.

Can I use TFTP to transfer files between two Windows 10 PCs?

Yes, but both need TFTP enabled – one as server, the other as client. It’s simpler to use SMB or FTP for that, but TFTP works.

What is the default TFTP port?

UDP port 69. You can change it in the registry, but both client and server must use the same port.

Why does my TFTP transfer fail for files larger than 32MB?

TFTP has a block size limit (default 512 bytes) and uses a 16-bit block number, so the maximum file size is about 32MB. Some servers support larger block sizes via RFC 2348, but the built-in Windows server may not. For larger files, use FTP.

How do I uninstall the TFTP server?

Go to Windows Features (optionalfeatures.exe) and uncheck “TFTP Server”. Then delete the registry key if you want to remove all settings.

Can I run multiple TFTP servers on the same port?

No, only one service can bind to UDP port 69. If you need multiple, use different ports.

Related

General steps for current mainstream versions; menus can differ by device and version. See the disclaimer or report an error.

More in this bed

The whole Tech How-To bed →