---
title: GNU Emacs
canonical: https://saasranked.com/software/gnu-emacs/
category: Code Editors
points: 87
rank: 3 of 12
facts_checked: 2026-10-08
---

# GNU Emacs

Free, extensible editor with built-in language server support, git, remote editing and a package archive.

87 points out of 100. #3 of 12 code editors. Vendor: GNU Project. Website: https://www.gnu.org/software/emacs/

- GNU Emacs is free software under the GNU General Public License [12].
- Emacs 31.1 was released on August 24, 2026 [1][3].
- Windows users can run an installer or unzip emacs-version.zip and start bin\runemacs.exe [2][13].
- TRAMP, included with Emacs, edits remote files over ssh and in Docker or Podman containers [6].
- Eglot, the Emacs language server client, gives completion and on-the-fly diagnostics through Flymake [4].

Verdict: GNU Emacs suits people who want a free editor with a release in the past year with LSP, a debugger interface, git and remote editing all described in its own manuals [4][6][7][9]. The package archive hosted by the GNU project provides extensions [10]. The catch: its manuals show no multiple cursors, live collaboration or statement on usage data [8][12]. Best for: People who want a free editor they can reshape in Emacs Lisp, with many tools built in.

## Points

| Criterion | Line | Value | Points | Note |
|---|---|---|---|---|
| Systems | Systems besides Windows | macOS, Linux | 6/9 | Download page has macOS and GNU/Linux sections; README describes the Nextstep port for macOS Cocoa. No web version listed [2][12]. |
| Systems | Portable Windows build | Yes | 5/5 | Windows zip package holds the same files as the installer; download page says unzip and run bin\runemacs.exe [2][13]. |
| Systems | Remote editing | Yes | 8/8 | TRAMP, included as part of Emacs, edits remote files over ssh, in docker and podman containers. WSL not mentioned [6]. |
| Code tools | Language Server Protocol | Yes | 10/10 | Eglot is the Emacs LSP client; the Emacs manual says programming modes use language servers through it, with completion and Flymake diagnostics [4][5]. |
| Code tools | Debugger | Yes | 9/9 | GUD sets breakpoints with gud-break and steps with gud-step and gud-next for GDB, LLDB, PDB and more. Not marked experimental [7]. |
| Code tools | Built-in terminal | Yes | 6/6 | M-x shell, M-x term and M-x eshell run a shell in an Emacs buffer [8]. |
| Code tools | Git in the editor | Yes | 6/6 | Version Control supports Git; vc-dir shows file status and C-x v v commits through a log buffer [9]. |
| Code tools | Multiple cursors | Not published | 0/3 | Not published in the Emacs manual. The home page only links a video on a multiple-cursors package [1][8]. |
| Code tools | Live collaboration | Not published | 0/3 | Not published in the Emacs manual [8]. |
| Extending | Extension directory | Yes | 8/8 | GNU ELPA and NonGNU ELPA are maintained by the Emacs developers and hosted by the GNU project; Emacs Lisp is the extension language [1][10]. |
| Extending | Custom key bindings | Yes | 3/3 | Manual shows rebinding keys in the init file, for example (keymap-global-set "C-z" 'shell) [11]. |
| Licence and price | Free for work use | Yes | 6/6 | Free software under the GPL, which allows use and redistribution [12]. |
| Licence and price | Price | $0 | 6/6 | GNU Emacs is free [12]. |
| Licence and price | Open source | Yes | 6/6 | Source tree is published and licensed under the GNU General Public License [12]. |
| Upkeep | Release in the past year | Yes | 8/8 | Emacs 31.1 was released August 24, 2026; the release archive lists emacs-31.1.tar.xz dated 2026-08-24 [1][3]. |
| Upkeep | Telemetry off or none | Not published | 0/4 | Not published in the README or the Emacs manual [12]. |

## Plans

| Plan | Price | Per month (USD) |
|---|---|---|
| GNU Emacs | Free [12] | $0 |

## Strengths

- Windows has both an installer and a zip package that you unzip and run [2][13].
- The Emacs manual documents Eglot, with language server completion and Flymake diagnostics [4][5].
- GUD gives breakpoints and stepping for GDB, LLDB, PDB and JDB, among others [7].
- Version Control supports Git and lets you commit from a log buffer inside Emacs [9].
- Keys are rebound in the init file with keymap-global-set [11].

## Limits

- The Emacs manuals show no multiple-cursors or live-collaboration feature [8].
- Rebinding keys and most customising is done with Emacs Lisp in an init file [11].
- Git rebases beyond editing a commit message must be run from the command line [9].
- The Emacs project lists no web version [2].

## Sources

1. [GNU Emacs](https://www.gnu.org/software/emacs/), GNU Project, accessed 2026-10-08
2. [Download GNU Emacs](https://www.gnu.org/software/emacs/download.html), GNU Project, accessed 2026-10-08
3. [Index of /gnu/emacs](https://ftp.gnu.org/gnu/emacs/), GNU Project, accessed 2026-10-08
4. [Eglot manual (eglot.texi)](https://cgit.git.savannah.gnu.org/cgit/emacs.git/plain/doc/misc/eglot.texi?h=emacs-31), GNU Project, accessed 2026-10-08
5. [GNU Emacs manual: programs (programs.texi)](https://cgit.git.savannah.gnu.org/cgit/emacs.git/plain/doc/emacs/programs.texi?h=emacs-31), GNU Project, accessed 2026-10-08
6. [TRAMP manual (tramp.texi)](https://cgit.git.savannah.gnu.org/cgit/emacs.git/plain/doc/misc/tramp.texi?h=emacs-31), GNU Project, accessed 2026-10-08
7. [GNU Emacs manual: building and debugging (building.texi)](https://cgit.git.savannah.gnu.org/cgit/emacs.git/plain/doc/emacs/building.texi?h=emacs-31), GNU Project, accessed 2026-10-08
8. [GNU Emacs manual: shell and misc (misc.texi)](https://cgit.git.savannah.gnu.org/cgit/emacs.git/plain/doc/emacs/misc.texi?h=emacs-31), GNU Project, accessed 2026-10-08
9. [GNU Emacs manual: version control (maintaining.texi)](https://cgit.git.savannah.gnu.org/cgit/emacs.git/plain/doc/emacs/maintaining.texi?h=emacs-31), GNU Project, accessed 2026-10-08
10. [GNU Emacs manual: packages (package.texi)](https://cgit.git.savannah.gnu.org/cgit/emacs.git/plain/doc/emacs/package.texi?h=emacs-31), GNU Project, accessed 2026-10-08
11. [GNU Emacs manual: customization (custom.texi)](https://cgit.git.savannah.gnu.org/cgit/emacs.git/plain/doc/emacs/custom.texi?h=emacs-31), GNU Project, accessed 2026-10-08
12. [GNU Emacs README](https://cgit.git.savannah.gnu.org/cgit/emacs.git/plain/README?h=emacs-31), GNU Project, accessed 2026-10-08
13. [README for Emacs 31 on Windows](https://ftp.gnu.org/gnu/emacs/windows/emacs-31/README), GNU Project, accessed 2026-10-08
