electerm — Free Open-Source Terminal/SSH/SFTP/Telnet/Serial Port/RDP/VNC/Spice/FTP Client

Free and open-sourced terminal/ssh/sftp/telnet/serialport/RDP/VNC/Spice/ftp client (Linux, Mac, Windows, Android, HarmonyOS, iOS)

Besides mainstream Windows/macOS/Linux/Android/HarmonyOS/iOS, electerm also supports older systems — Ubuntu 18, Windows 7, macOS 10+, and special Chinese Linux distributions such as UOS, Kylin, and LoongArch (both old-world and new-world), as well as RISC-V (riscv64) and PowerPC 64-bit little-endian (ppc64le) Linux.

Version v5.9.02026-11-07
Live Demo
Open full screen ↗
🔒demo.electerm.org

Features

Everything you need in a terminal client

⚡

Open-Sourced All-in-One Client

Free and open-sourced terminal, file manager, and SSH/SFTP/FTP/Telnet/Serial port/RDP/VNC/Spice client in one app.

🔐

Secure Auth

Supports publicKey + password authentication, global and per-session proxy, SSH tunneling, Agent forwarding, port forwarding, X11 forwarding, and connection hopping.

🤖

AI Assistant

Works with all major LLM API formats — OpenAI Chat Completions, OpenAI Responses, and Anthropic Messages. Generate commands, explain commands, generate scripts, create bookmarks from natural language, and run tasks directly in Agent mode.

Free AI for electerm users →
📁

Remote File Editing

Double-click to directly edit remote files via integrated SFTP file manager with drag and drop.

🖥️

Multi-tab Terminal

Multiple terminal sessions in tabs with split panes, quick input to one or all terminals.

🔥

Global Hotkey

Toggle window visibility with a global hotkey (default Ctrl+2), similar to Guake-style drop terminals.

🎨

Themes & Customization

UI/terminal themes, terminal background images, transparent windows on Mac and Windows.

🌐

Multi-language

14+ languages via community translations. Contributions and fixes welcome.

🔗

MCP & Deep Links

MCP widget for AI assistants and external tools. Open connections via URLs like ssh://user@host:22.

☁️

Cloud Sync

Sync bookmarks, themes, and quick commands to GitHub/Gitee secret gists, WebDAV, or custom servers.

📎

Zmodem & Trzsz

Supports Zmodem (rz/sz) and Trzsz (trz/tsz) file transfer, compatible with tmux.

📦

Cross-platform

Windows 7+ (x64/ARM64), macOS 10.15+ (x64/arm64), Linux (x64/arm64/armv7/LoongArch64/RISC-V/ppc64le), Android, iOS, HarmonyOS, including glibc 2.17+.

Download

Free and open-source — choose your platform (Windows, macOS, Linux, Android, HarmonyOS, iOS)

electerm-5.9.0-win-x64-installer.exe
Windows installer (recommended)
electerm-5.9.0-win-x64-portable.tar.gz
Portable archive
electerm-5.9.0-win-x64.tar.gz
Just extract and run
electerm-5.9.0-win-arm64-installer.exe
Windows installer (recommended)
electerm-5.9.0-win-arm64.tar.gz
Just extract and run
electerm-5.9.0-win7.tar.gz
Legacy Windows 7 compatible
electerm-5.9.0-win-x64-installer.exe
Windows installer (recommended)
electerm-5.9.0-win-x64-portable.tar.gz
Portable archive
electerm-5.9.0-win-x64.tar.gz
Just extract and run
electerm-5.9.0-win-arm64-installer.exe
Windows installer (recommended)
electerm-5.9.0-win-arm64.tar.gz
Just extract and run
electerm-5.9.0-win7.tar.gz
Legacy Windows 7 compatible
Other ways to install
npm
npm i -g electerm
electerm-5.9.0-mac-arm64.dmg
for Apple Silicon Macs (M1, M2, etc.)
electerm-5.9.0-mac-x64.dmg
for Intel Macs
electerm-5.9.0-mac10-x64.dmg
for macOS 10.x
Other ways to install
Homebrew
brew install --cask electerm
npm
npm i -g electerm
electerm-5.9.0-linux-amd64.deb
for Debian, Ubuntu...
electerm-5.9.0-linux-amd64.snap
for all linux that support snap
electerm-5.9.0-linux-x64.tar.gz
for all linux, just extract
electerm-5.9.0-linux-x86_64.AppImage
for all linux, just run it
electerm-5.9.0-linux-x86_64.rpm
for Red Hat, Fedora...
electerm-5.9.0-linux-amd64-legacy.deb
for Debian, Ubuntu... (glibc < 2.34, like UOS/Kylin/Ubuntu 18)
electerm-5.9.0-linux-x64-legacy.tar.gz
for all linux, just extract (glibc < 2.34)
electerm-5.9.0-linux-x86_64-legacy.AppImage
for all linux, just run it (glibc < 2.34)
electerm-5.9.0-linux-x86_64-legacy.rpm
for Red Hat, Fedora... (glibc < 2.34)
electerm-5.9.0-linux-aarch64.rpm
for Red Hat, Fedora...
electerm-5.9.0-linux-arm64.AppImage
for all linux, just run it
electerm-5.9.0-linux-arm64.deb
for Debian, Ubuntu...
electerm-5.9.0-linux-arm64.tar.gz
for all linux, just extract
electerm-5.9.0-linux-aarch64-legacy.rpm
for Red Hat, Fedora... (glibc < 2.34)
electerm-5.9.0-linux-arm64-legacy.AppImage
for all linux, just run it (glibc < 2.34)
electerm-5.9.0-linux-arm64-legacy.deb
for Debian, Ubuntu... (glibc < 2.34, like UOS/Kylin/Ubuntu 18)
electerm-5.9.0-linux-arm64-legacy.tar.gz
for all linux, just extract (glibc < 2.34)
electerm-5.9.0-linux-armv7l.AppImage
for all linux, just run it
electerm-5.9.0-linux-armv7l.deb
for Debian, Ubuntu...
electerm-5.9.0-linux-armv7l.rpm
for Red Hat, Fedora...
electerm-5.9.0-linux-armv7l.tar.gz
for all linux, just extract
electerm-5.9.0-linux-armv7l-legacy.AppImage
for all linux, just run it (glibc < 2.34)
electerm-5.9.0-linux-armv7l-legacy.deb
for Debian, Ubuntu... (glibc < 2.34, like UOS/Kylin/Ubuntu 18)
electerm-5.9.0-linux-armv7l-legacy.rpm
for Red Hat, Fedora... (glibc < 2.34)
electerm-5.9.0-linux-armv7l-legacy.tar.gz
for all linux, just extract (glibc < 2.34)
electerm-5.9.0-linux-loong64.deb
for new world UOS/Kylin...
electerm-5.9.0-linux-loong64.tar.gz
for new world loongarch, just extract
electerm-5.9.0-linux-loongarch64.deb
for new world Debian, Ubuntu... (loongarch64)
electerm-5.9.0-linux-loong64-legacy.deb
for old world UOS/Kylin...
electerm-5.9.0-linux-loong64-legacy.tar.gz
for old world loongarch, just extract
electerm-5.9.0-linux-loongarch64-legacy.deb
for old world Debian, Ubuntu... (loongarch64)
electerm-5.9.0-linux-riscv64.deb
for Debian, Ubuntu... (riscv64)
electerm-5.9.0-linux-riscv64.tar.gz
for all linux (riscv64), just extract
electerm-5.9.0-linux-ppc64el.deb
for Debian, Ubuntu... (ppc64le)
electerm-5.9.0-linux-ppc64le.tar.gz
for all linux (ppc64le), just extract
electerm-5.9.0-linux-amd64.deb
for Debian, Ubuntu...
electerm-5.9.0-linux-amd64.snap
for all linux that support snap
electerm-5.9.0-linux-x64.tar.gz
for all linux, just extract
electerm-5.9.0-linux-x86_64.AppImage
for all linux, just run it
electerm-5.9.0-linux-x86_64.rpm
for Red Hat, Fedora...
electerm-5.9.0-linux-amd64-legacy.deb
for Debian, Ubuntu... (glibc < 2.34, like UOS/Kylin/Ubuntu 18)
electerm-5.9.0-linux-x64-legacy.tar.gz
for all linux, just extract (glibc < 2.34)
electerm-5.9.0-linux-x86_64-legacy.AppImage
for all linux, just run it (glibc < 2.34)
electerm-5.9.0-linux-x86_64-legacy.rpm
for Red Hat, Fedora... (glibc < 2.34)
electerm-5.9.0-linux-aarch64.rpm
for Red Hat, Fedora...
electerm-5.9.0-linux-arm64.AppImage
for all linux, just run it
electerm-5.9.0-linux-arm64.deb
for Debian, Ubuntu...
electerm-5.9.0-linux-arm64.tar.gz
for all linux, just extract
electerm-5.9.0-linux-aarch64-legacy.rpm
for Red Hat, Fedora... (glibc < 2.34)
electerm-5.9.0-linux-arm64-legacy.AppImage
for all linux, just run it (glibc < 2.34)
electerm-5.9.0-linux-arm64-legacy.deb
for Debian, Ubuntu... (glibc < 2.34, like UOS/Kylin/Ubuntu 18)
electerm-5.9.0-linux-arm64-legacy.tar.gz
for all linux, just extract (glibc < 2.34)
electerm-5.9.0-linux-armv7l.AppImage
for all linux, just run it
electerm-5.9.0-linux-armv7l.deb
for Debian, Ubuntu...
electerm-5.9.0-linux-armv7l.rpm
for Red Hat, Fedora...
electerm-5.9.0-linux-armv7l.tar.gz
for all linux, just extract
electerm-5.9.0-linux-armv7l-legacy.AppImage
for all linux, just run it (glibc < 2.34)
electerm-5.9.0-linux-armv7l-legacy.deb
for Debian, Ubuntu... (glibc < 2.34, like UOS/Kylin/Ubuntu 18)
electerm-5.9.0-linux-armv7l-legacy.rpm
for Red Hat, Fedora... (glibc < 2.34)
electerm-5.9.0-linux-armv7l-legacy.tar.gz
for all linux, just extract (glibc < 2.34)
electerm-5.9.0-linux-loong64.deb
for new world UOS/Kylin...
electerm-5.9.0-linux-loong64.tar.gz
for new world loongarch, just extract
electerm-5.9.0-linux-loongarch64.deb
for new world Debian, Ubuntu... (loongarch64)
electerm-5.9.0-linux-loong64-legacy.deb
for old world UOS/Kylin...
electerm-5.9.0-linux-loong64-legacy.tar.gz
for old world loongarch, just extract
electerm-5.9.0-linux-loongarch64-legacy.deb
for old world Debian, Ubuntu... (loongarch64)
electerm-5.9.0-linux-riscv64.deb
for Debian, Ubuntu... (riscv64)
electerm-5.9.0-linux-riscv64.tar.gz
for all linux (riscv64), just extract
electerm-5.9.0-linux-ppc64el.deb
for Debian, Ubuntu... (ppc64le)
electerm-5.9.0-linux-ppc64le.tar.gz
for all linux (ppc64le), just extract
Other ways to install
Snap Store
sudo snap install electerm --classic
https://snapcraft.io/electerm
Flatpak
flatpak remote-add --if-not-exists flatpark https://dl.flatpark.org/flatpark.flatpakrepo
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install flatpark org.electerm.Electerm
flatpark.org
APT repository
curl -fsSL https://repos.electerm.org/deb/public.key | sudo gpg --dearmor -o /usr/share/keyrings/electerm.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/electerm.gpg] https://repos.electerm.org/deb stable main" | sudo tee /etc/apt/sources.list.d/electerm.list
sudo apt update
sudo apt install -y electerm
https://repos.electerm.org/deb
RPM repository
sudo rpm --import https://repos.electerm.org/rpm/public.key
sudo tee /etc/yum.repos.d/electerm.repo <<'EOF'
[electerm]
name=Electerm Repository
baseurl=https://repos.electerm.org/rpm/
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://repos.electerm.org/rpm/public.key
EOF
sudo dnf install -y electerm
https://repos.electerm.org/rpm
npm
npm i -g electerm
HarmonyOS
Get electerm on Huawei HarmonyOS devices from AppGallery.
electerm-android-arm64-v8a-5.9.0.apk
for ARM64 devices (most modern phones)
electerm-android-armeabi-v7a-5.9.0.apk
for older ARM devices
electerm-android-universal-5.9.0.apk
universal (all architectures)
electerm-android-x86_64-5.9.0.apk
for x86_64 devices (emulators, some tablets)
iOS
Available on the App Store.

Release Notes

What's new in the latest version

v5.9.02026-11-07

Major updates

♥ Fix terminal rendering after WebGL context loss: fall back to the DOM renderer and keep sessions alive (#4702) by @forever765

♥ Widget: Support password manager: an installed widget can supply passwords for SSH/ftp/VNC/Spice/Telnet/RDP bookmarks (KeePassXC ready), with a per-bookmark opt-in (#4705) by @mkneppe

♥ UX: Support set icon for custom bookmark/bookmark group by @xinxingi

♥ Widget: Widgets can offer bookmarks to import, with an import result report and a warning about embedded secrets (#4703) by @mkneppe

♥ Support create a private key in the SSH bookmark form (#4554)

♥ Editor: support markdown preview in the built-in editor (#4666)

New features/UI/Updates

♥ SSH: support PKCS#8, PPK v3 and FIDO2 keys (ssh2 1.23.0), improve MFA support (#4554)

♥ MCP: add a read-only command rules tool, and a rejected command now points at it (#4699) by @ifyh-W

♥ Widget install from GitHub now falls back to mirror.electerm.org and jsDelivr when GitHub is unreachable; the in-app updater uses the same mirror

♥ RDP: can check host reachability before connecting, show readable connect errors (#4685) by @mkneppe

♥ SSH: a stale or blank private key path no longer blocks a password login (#4684) by @mkneppe

♥ Use static default local bookmarks, so app start faster (#4672)

♥ Bookmark import: bookmarks without a category are collected into a standalone category

♥ VNC: show why a connection failed, with a hint for RealVNC's RA2 security type that no open-source client supports

Bug fixes

♥ Security: fix MCP server DNS rebinding (GHSA-45rj-2wq9-r9mr)

♥ Security: require approval for MCP-initiated file transfers (#4706)

♥ Security: fix local clipboard leaking to the server

♥ Security: keep the same-origin policy on for web session guests (#4707)

♥ Security: run Windows PowerShell without a cmd.exe layer and without interpolating local paths into scripts (#4708) (#4710)

♥ Fix wide-character mouse selection landing one cell off for adjacent CJK/full-width characters

♥ Fix custom sync to servers with an internal CA: user-installed certificates from the login keychain were dropped

♥ Fix session log failure breaking the session, and keep local paths and tokens out of imported or synced config (#4688)

♥ Fix RDP email login (#4676)

♥ Fix transfer websocket status control (electerm-web#31)

♥ Fix drag/drop in the FTP server widget

♥ Windows: do not mistake the WSL bash launcher for Git Bash (#4672) by @pcbeingused333

重大更新

♥ 修复 WebGL 上下文丢失后终端渲染异常:自动回退到 DOM 渲染并保留会话 (#4702)(由 @forever765 提供)

♥ 小组件:支持密码管理器,安装小组件后可为 SSH/ftp/VNC/Spice/Telnet/RDP 书签提供密码(已适配 KeePassXC),支持按书签单独开启 (#4705)(由 @mkneppe 提供)

♥ 体验:支持为自定义书签/书签分组设置图标(由 @xinxingi 提供)

♥ 小组件:可提供书签供导入,导入后显示结果,并对内含密钥的数据给出警告 (#4703)(由 @mkneppe 提供)

♥ 支持在 SSH 书签表单中创建私钥 (#4554)

♥ 编辑器:内置编辑器支持 Markdown 预览 (#4666)

新功能/界面/更新

♥ SSH:支持 PKCS#8、PPK v3 和 FIDO2 密钥(ssh2 1.23.0),改进 MFA 支持 (#4554)

♥ MCP:新增只读命令规则工具,命令被拒绝时会提示使用该工具 (#4699)(由 @ifyh-W 提供)

♥ 从 GitHub 安装小组件时,GitHub 不可达会自动回退到 mirror.electerm.org 和 jsDelivr,应用内更新也改用同一镜像

♥ RDP:支持连接前检查主机可达性,并显示可读的连接错误 (#4685)(由 @mkneppe 提供)

♥ SSH:私钥路径为空或失效时不再阻塞密码登录 (#4684)(由 @mkneppe 提供)

♥ 改用静态默认本地书签,应用启动更快 (#4672)

♥ 书签导入:没有分类的书签会归入独立分类

♥ VNC:连接失败时显示具体原因,并对 RealVNC 的 RA2 安全类型(开源客户端均不支持)给出提示

问题修复

♥ 安全:修复 MCP 服务器 DNS rebinding 漏洞 (GHSA-45rj-2wq9-r9mr)

♥ 安全:MCP 发起的文件传输需经用户审批 (#4706)

♥ 安全:修复本地剪贴板泄漏到服务器的问题

♥ 安全:Web 版会话访客保持同源策略开启 (#4707)

♥ 安全:Windows PowerShell 命令不再经过 cmd.exe,也不再把本地路径拼进脚本 (#4708) (#4710)

♥ 修复相邻的中文/全角字符导致鼠标选择偏移一格的问题

♥ 修复自定义同步到使用内部 CA 的服务器时,用户安装到登录钥匙串的证书被忽略的问题

♥ 修复会话日志失败导致会话中断,并避免导入/同步配置覆盖本机路径和令牌 (#4688)

♥ 修复 RDP 邮箱账号登录问题 (#4676)

♥ 修复传输 websocket 状态控制 (electerm-web#31)

♥ 修复 FTP 服务器小组件的拖放

♥ Windows:不再把 WSL 的 bash 启动器误判为 Git Bash (#4672)(由 @pcbeingused333 提供)

Join the Community

WeChat Group QR Code

Join our WeChat community for support and updates

Telegram Group QR Code

Join our Telegram group for support and updates

Sponsors

Interested in sponsoring electerm? Your support helps keep the project active and growing.

Frequently Asked Questions

Quick answers to common questions about electerm

Is electerm free and open-source?
Yes! electerm is completely free and open-source (MIT license). View the source on GitHub.
How do I keep my SSH session from timing out?
Set SSH Keep Alive Interval in Settings, or click the keep-alive icon in the terminal toolbar during an active session.
Can I use SSH tunnels in electerm?
Yes, configure local → remote or remote → local port forwarding when creating or editing an SSH bookmark.
How do I configure AI assistant?
Open AI settings, enter your API URL, model name, and API key. Works with all major LLM API formats.

About the Author

electerm is created and maintained by ZHAO Xudong.