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

|
13 installs
| (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 Notebook Servers: Kernels, Sessions & Files: Manage Jupyter servers from the side bar: see kernels and sessions, shut down, restart or interrupt kernels, and browse, open and edit the server's files directly. (Open VSX)
  • Nifty DevOps Pack: 8 Nifty extensions for containers, Kubernetes, infrastructure and servers: Containers, Helm & Kustomize, HCL Tools, Nginx, Shell Format, Env, SFTP, Log Viewer. (Open VSX)
  • Nifty Folder Compare: Diff Two Folders: Compare two folders: see which files were added, removed or changed in a tree, open side-by-side diffs, ignore whitespace or line endings, and copy files across. (Open VSX)
  • Nifty Java App Servers: Run Tomcat & Jetty: Run Tomcat and Jetty in VS Code: start, stop and debug servers, deploy WAR files or exploded Maven webapps with hot sync, follow colored logs and open your app in the browser. (Open VSX)
  • Nifty Settings Sync: Sync via GitHub Gist: Sync settings, keybindings, snippets and extensions between VSCodium, Cursor, Windsurf and VS Code through a private GitHub Gist, with a diff before anything is overwritten. (Open VSX)
  • Nifty Tools for Arduino: Upload & Serial Monitor: Build and upload Arduino sketches with arduino-cli: pick board and port from the status bar, verify with errors in Problems, upload, open the serial monitor, and install libraries and cores. (Open VSX)

See all 100+ Nifty extensions and web tools at https://getnifty.dev

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