# grunt-ftp

> Upload files to or download from an FTP-server

Latest version **3.0.0** (published 2026-02-01) · MIT license · 0 weekly downloads

## Install

```sh
npm install grunt-ftp
pnpm add grunt-ftp
yarn add grunt-ftp
bun add grunt-ftp
```

## Health

**Score 45/100 (D)** — status: stable.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

## Facts

| | |
|---|---|
| Version | 3.0.0 |
| Published | 2026-02-01 |
| First published | 2013-12-25 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=20 |
| Dependencies | 4 |
| Unpacked size | 6.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 22 |
| Author | Sindre Sorhus |
| Maintainers | sindresorhus |
| Keywords | gruntplugin, ftp, jsftp, file, transfer, protocol, server, client, upload, deploy, deployment |

## Links

- npm: https://www.npmjs.com/package/grunt-ftp
- Repository: https://github.com/sindresorhus/grunt-ftp
- Homepage: https://github.com/sindresorhus/grunt-ftp#readme
- Issues: https://github.com/sindresorhus/grunt-ftp/issues
- Funding: https://github.com/sponsors/sindresorhus
- npm.io page: https://npm.io/package/grunt-ftp

## Dependencies (4)

- [chalk](https://npm.io/package/chalk.md) ^1.0.0
- [jsftp](https://npm.io/package/jsftp.md) ^1.5.0
- [each-async](https://npm.io/package/each-async.md) ^1.0.0
- [jsftp-mkdirp](https://npm.io/package/jsftp-mkdirp.md) ^1.0.0

## Alternatives

- [unionfs](https://npm.io/package/unionfs.md) — 2.2M weekly downloads
- [path-starts-with](https://npm.io/package/path-starts-with.md) — 35.9K weekly downloads
- [redzip](https://npm.io/package/redzip.md) — 1.2K weekly downloads
- [vscode-anymatch](https://npm.io/package/vscode-anymatch.md) — 848 weekly downloads
- [@ledgerhq/coin-filecoin](https://npm.io/package/@ledgerhq/coin-filecoin.md) — 793 weekly downloads

## Recent versions

- 3.0.0 (latest) — 2026-02-01
- 2.1.0 — 2016-04-06
- 2.0.0 — 2015-03-16
- 1.0.2 — 2015-02-26
- 1.0.1 — 2014-09-02
- 1.0.0 — 2014-09-01
- 0.2.0 — 2014-05-16
- 0.1.0 — 2013-12-25

## README

# grunt-ftp

> Upload files to or download from an FTP-server

Useful for uploading, deploying and downloading things.

## Install

```sh
npm install --save-dev grunt-ftp
```

## Usage

### Upload

```js
require('load-grunt-tasks')(grunt); // npm install --save-dev load-grunt-tasks

grunt.initConfig({
	ftpPut: {
		options: {
			host: 'website.com',
			user: 'johndoe',
			pass: '1234'
		},
		upload: {
			files: {
				'public_html': 'src/*'
			}
		}
	}
});

grunt.registerTask('default', ['ftpPut']);
```

### Download

```js
require('load-grunt-tasks')(grunt); // npm install --save-dev load-grunt-tasks

grunt.initConfig({
	ftpGet: {
		options: {
			host: 'website.com',
			user: 'johndoe',
			pass: '1234'
		},
		download: {
			files: {
				'public_html/file.txt': 'src/file.txt'
			}
		}
	}
});

grunt.registerTask('default', ['ftpGet']);
```

## Options

### host

*Required*\
Type: `string`

### port

Type: `number`\
Default: `21`

### user

Type: `string`\
Default: `'anonymous'`

### pass

Type: `string`\
Default: `'@anonymous'`

---
_Source: https://npm.io/package/grunt-ftp · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
