Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Nifty SFTP: Upload on Save & Folder SyncNew to Visual Studio Code? Get it now.
Nifty SFTP: Upload on Save & Folder Sync

Nifty SFTP: Upload on Save & Folder Sync

Nifty

|
1 install
| (0) | Free
Upload on save and sync folders over SFTP, compatible with existing sftp.json files: download, diff with the server, browse remote files, profiles, and passwords kept in the OS keychain.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Nifty SFTP

Upload on save and sync folders over SFTP, compatible with existing sftp.json files: download, diff with the server, browse remote files, profiles, and passwords kept in the OS keychain.

Maintained. No sign-in. No telemetry. Works in VS Code, Cursor, Windsurf, VSCodium and other editors that use Open VSX.

Features

Sync Local → Remote lists the 2 changed files, uploads them after you confirm, and the new css folder appears in the SFTP Remote view

Sync shows what will be uploaded before it starts

Comparing a changed page with the copy on the server

The SFTP Remote view listing the server

  • Upload on save. Save a file and it's on the server a moment later. Or right-click files and folders to Upload or Download them.
  • Your existing sftp.json just works. If you used another SFTP extension, keep your .vscode/sftp.json: host, port, username, password or privateKeyPath, SSH agent, remotePath, context, uploadOnSave, ignore, syncOption.delete, profiles and several servers in one file are all understood.
  • Sync that only sends what changed. Sync Local → Remote, Remote → Local or Both Ways compares sizes and modification times, shows you what will happen, then transfers only new and changed files. Optionally delete what's gone.
  • Compare with Remote. See a diff between your file and the copy on the server before you overwrite anything.
  • Browse the server. The SFTP Remote view in the Explorer lists the remote folder; open files to read them or download them into your project.
  • Profiles. Switch between staging and production from the status bar.
  • Passwords stay out of your project. Leave password out of sftp.json and you're asked once; it's saved in your OS keychain (Windows Credential Manager, macOS Keychain, libsecret). Private keys and a running SSH agent work too.
  • gitignore-style ignore patterns: node_modules, *.log, /build, cache/, !keep.log.
  • Connections are reused and closed when idle; everything is logged in the Output panel.

Example .vscode/sftp.json

{
  "name": "My Site",
  "host": "example.com",
  "username": "deploy",
  "privateKeyPath": "~/.ssh/id_ed25519",
  "remotePath": "/var/www/html",
  "uploadOnSave": true,
  "ignore": [".vscode", ".git", "node_modules", "*.log"],
  "profiles": {
    "staging": { "host": "staging.example.com", "remotePath": "/var/www/staging" }
  }
}

Run Nifty SFTP: Open sftp.json to create one with the common settings filled in.

Commands

Command What it does
Nifty SFTP: Upload / Download Transfer the selected files or folders
Nifty SFTP: Sync Local → Remote Upload new and changed files
Nifty SFTP: Sync Remote → Local Download new and changed files
Nifty SFTP: Sync Both Ways Newer copy wins, in both directions
Nifty SFTP: Compare with Remote Diff the file with the server copy
Nifty SFTP: Switch Profile… Use another profile from sftp.json
Nifty SFTP: Open sftp.json (Create If Missing) Edit the configuration
Nifty SFTP: Forget Saved Passwords Remove passwords from the keychain

Settings

Setting Default What it does
nifty.sftp.idleSeconds 120 Close idle connections after this long

FTP and FTPS aren't supported yet; "protocol": "ftp" configs show a clear message.

Install

  • VS Code: search for "Nifty SFTP" in the Extensions view, or install from the Visual Studio Marketplace.
  • Cursor, Windsurf, VSCodium, Kiro, Antigravity: install from Open VSX.

Privacy

This extension collects no telemetry and needs no account.

More Nifty tools

  • Nifty Beautify: Format HTML in PHP, Blade & Twig: Format HTML inside PHP, Blade, Twig, Jinja, Handlebars, ERB and Liquid templates without breaking the template tags. (Open VSX)
  • Nifty C# Templates: New Class, Record & Namespace: New C# class, interface, record, enum, test and controller files with the right namespace, plus namespace syncing. (Open VSX)
  • Nifty Data Viewer: CSV & Parquet Viewer with SQL: Open CSV, Parquet and JSON files as a fast table and query them with SQL, powered by DuckDB. Sort, page through millions of rows, and export to CSV, Parquet or JSON. (Open VSX)
  • Nifty Docs: Dash, Zeal & DevDocs Lookup: Look up the word under the cursor in Dash, Zeal or DevDocs, with docsets picked from your language and frameworks. (Open VSX)
  • Nifty Git Graph: Git History & Branch Graph: See your git history as a graph: branches, merges and tags, commit details and diffs, and checkout, merge, rebase, cherry-pick and more from a right-click. No sign-in. (Open VSX)
  • Nifty Git Links: Open in GitHub, GitLab & Bitbucket: Open or copy links to files, lines, commits and pull requests on GitHub, GitLab, Bitbucket, Azure DevOps and Gitea. (Open VSX)

See all 21 Nifty tools at https://getnifty.dev

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft