n8n FTP nodeConfigure FTP in n8n.
The n8n FTP node moves files between a workflow and a remote file server. A single node covers 5 operations, from a plain upload to a recursive folder listing, over FTP or SFTP. Point it at a path, pick the protocol, and the file lands where the rest of the workflow expects it.
Verified Trustpilot reviews · AI, automation & growth agency
What does the n8n FTP node actually do?
The FTP node connects a workflow to a file server and performs one job per execution: delete, download, list, rename or upload. It ships with n8n, so it sits in the node panel on n8n Cloud and on a self-hosted instance with nothing to install and no extra cost. The Protocol field decides whether the exchange runs over FTP or over SFTP, the encrypted variant that rides on an SSH tunnel.
Start with the classic supplier drop. A Schedule Trigger wakes the workflow, a first FTP node runs List on /public/folder with Recursive turned on, and a second one downloads each file it found. From there the rows go wherever they belong, for example a monthly sheet handled by the Google Sheets node.
The reverse direction is just as common: a workflow builds an export, then pushes it to a partner server. Upload takes either a binary file coming from an earlier node or plain text typed into File Content, which is enough for a small manifest. When the destination folder depends on the file, an If node splits two cases and a Switch node handles more.
Housekeeping is the third job. Rename moves a processed file into an archive path, and Delete removes what nobody needs anymore. Both are cheap to automate and both deserve a careful path, since the node acts on whatever full path it is given.
One thing this node is not: an HTTP client. The HTTP Request node is the right answer when an API endpoint is missing from a dedicated node, never for a protocol that is not HTTP. FTP and SFTP fall outside its reach, which is exactly why the FTP node exists.
Known limits are worth knowing before building. There is no FTP trigger, so something else opens the workflow, usually a Schedule Trigger or a Webhook. Concurrent reads speed up downloads over SFTP only, and not every server accepts them. The node runs at version 1, so a workflow built long ago shows the same fields. If a team is weighing this against a hosted platform, the n8n review lays out the criteria.
Which credential does the FTP node need?
- 01
Create the account on the server
The credential authenticates against an existing File Transfer Protocol server, so that account comes first. Servers such as JSCAPE, OpenSSH or FileZilla Server all work, and the provider documentation is where the connection details live. Two credential types exist in n8n: FTP account, for a server without SSH tunneling or encryption, and SFTP account, for a server that supports both.
- 02
Fill the connection fields
Both credential types start the same way. Enter the Host, the name or IP address of the server, then the Port the connection should use, then the Username the credential connects as and that user's Password. A credential is created once in the Credentials menu and reused across every workflow that talks to that server.
- 03
Add the key for SFTP
An SFTP account takes two more fields. Private Key holds a string for key-based or host-based authentication, in OpenSSH format, most often generated with the
-oparameter of ssh-keygen, for examplessh-keygen -o -a 100 -t ed25519. If that key is encrypted, Passphrase decrypts it. A key without a passphrase leaves the field blank.
What can the FTP node do on a server?
The FTP node exposes 5 operations. For each one: the node as you configure it in n8n, the required fields, and our field notes.
Operations index
Delete a file or folder
deleteWhat you see in n8n
Notes & use cases
Removes a single file from the server, or a whole directory once the folder option is on. Nothing comes back but the confirmation that the entry is gone.
Key parameters
- Path: the full file path of the entry to delete, such as
/public/documents/file-to-delete.txt, often{{ $json.path }}carried over from a listing. - Folder: turned on, the node deletes folders as well as files, and one more option appears.
- Recursive: turned on with a folder, every file and directory inside the target directory goes too.
Download a file
downloadWhat you see in n8n
Notes & use cases
Pulls a file off the server and attaches it to the item as binary data, ready for any node that reads files.
Key parameters
- Path: the full path of the file to download, for instance
/public/documents/file-to-download.txt. - Put Output File in Field: the name of the output binary field the file goes into, which the next node reads.
- Enable Concurrent Reads: over SFTP this speeds up downloads, with Max Concurrent Reads capping how many run at once. Some SFTP servers refuse it.
- Chunk Size: the size of each chunk in KB, not supported everywhere.
List folder content
listWhat you see in n8n
Notes & use cases
Returns what a directory holds, one item per entry, which turns a remote folder into something the rest of the workflow can loop over.
Key parameters
- Path: the directory to list contents of, such as
/public/folder. - Recursive: required here, and switching it on returns an object representing every directory and object found recursively on the server, instead of the top level alone.
- Timeout: the connection timeout in milliseconds, useful when a deep tree keeps the server busy.
Rename / move a file or folder
renameWhat you see in n8n
Notes & use cases
Changes where an entry lives on the server. Rename and move are the same operation here, since both come down to writing a different path.
Key parameters
- Old Path: the existing path, for example
/public/documents/old-file.txt. - New Path: the destination, such as
/public/documents/new-file.txt, frequently built from an expression so the date ends up in the name. - Create Directories: turned on, the node recursively creates the destination directory, which saves the run when the archive folder does not exist yet.
Upload a file
uploadWhat you see in n8n
Notes & use cases
Writes a file to the server, either from binary data produced upstream or from text entered directly in the node.
Key parameters
- Path: the full destination path, for example
/public/documents/file-to-upload.txt. - Binary File: on for a binary upload, off to type the content yourself. The fields below depend on this choice.
- Input Binary Field: shown with Binary File on, the name of the input binary field holding the file to be written.
- File Content: shown with Binary File off, the text content of the file to upload.
Need help automating FTP with n8n?
A person reads every message.


