Resources · n8n integration

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

Why automate

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.

Connect

Which credential does the FTP node need?

  1. 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.

  2. 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.

  3. 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 -o parameter of ssh-keygen, for example ssh-keygen -o -a 100 -t ed25519. If that key is encrypted, Passphrase decrypts it. A key without a passphrase leaves the field blank.

Actions

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.

01

Delete a file or folder

delete

What 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.
Use cases
clearing an inbox directory once its files have been archived, or dropping a temporary upload folder at the end of a batch.
02

Download a file

download

What 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.
Use cases
fetching a nightly price list before parsing it, or grabbing a large media file that a slower server would otherwise stall on.
03

List folder content

list

What 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.
Use cases
checking whether a partner dropped today's file before going further, or building the list of paths a download step will work through.
04

Rename / move a file or folder

rename

What 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.
Use cases
moving each processed invoice into a year folder, or stamping a file name with the run date before anyone else picks it up.
05

Upload a file

upload

What 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.
Use cases
dropping a generated CSV export on a client server, or writing a short status file that another system polls.
Need help

Need help automating FTP with n8n?

A person reads every message.

FAQ

FTP and n8n: common questions

01Is the FTP node included in n8n, on Cloud and self-hosted?
Yes. FTP is a core node, shipped with n8n, so there is nothing to install and no extra cost on the n8n side. It behaves the same on n8n Cloud, the hosted offer run by n8n, and on a self-hosted instance installed through Docker or npm under the Community Edition and its Sustainable Use license. A workflow built in one place works in the other. What the node touches, the file server itself, stays outside n8n: whatever that server costs, or whatever a hosting provider charges for it, is a separate matter.
02What do you need to connect the n8n FTP node?
A credential, and an account on a file server to point it at. n8n supports two authentication methods. An FTP account suits a server without SSH tunneling or encrypted connections, and asks for Host, Port, Username and Password. An SFTP account suits a server that supports SSH tunneling and encryption, and adds Private Key, in OpenSSH format, plus the Passphrase that decrypts it when the key is encrypted. Credentials are created once in the Credentials menu and reused by every workflow that reaches the same server.
03What are the limits of the FTP node in n8n?
The node covers 5 operations on a single synthetic resource: delete, download, list, rename and upload. Anything else on the server is out of scope. It runs at version 1, so older workflows show the same panel. Concurrent reads only apply to SFTP downloads, and some servers reject them, as they may reject a custom chunk size. Uploads need the file to arrive as binary data from another node, which is why a Read/Write Files from Disk or HTTP Request step usually sits just before. A required field left empty stops the execution.
04When do you use the FTP node instead of HTTP Request?
Whenever the transfer runs over FTP or SFTP. The HTTP Request node calls any HTTP endpoint and covers whatever a dedicated node misses on an HTTP API, but it stops there: it is not a fallback for a protocol that is not HTTP. So a partner exposing a REST API goes through HTTP Request, and the same partner dropping files on a server goes through the FTP node. The two also work together, one downloading a file over HTTP and the other pushing it to the server, which is exactly what template 663 does.
05n8n or Make for moving files over FTP?
It depends on where the files and the platform should live. Make is hosted, with no self-hosting option, and billed per operation, so a workflow that lists a folder and downloads dozens of files every night has a cost that grows with the volume. n8n can run on your own server, which also means the file contents never leave an infrastructure you control, and it is the deciding factor for teams with sensitive documents. Make offers a visual editor many operations teams find quicker to read. Weigh hosting, data control, cost model and visual logic, in that order.