How to Install Emacs

Below you will find a few ways of installing Emacs in various operating systems. I use Linux, so I cannot personally vouch for the Mac and Windows sections; the instructions for these operating systems were cobbled together from Internet searches and cleaned up with Claude to be as helpful as possible.

If you have any trouble/comments/recommendations please leave a comment below. You would welcome your assistance in improving the efficacy of this guide.

Quick Recommendations

(Note to self: you really must improve your table CSS.)

Platform Best for Beginners Best for Developers
Linux Package Manager Build from Source
macOS Homebrew Emacs Plus/Mac
Windows Official Binary Chocolatey/WSL

Linux

Package Managers (Recommended)

Debian/Ubuntu (APT)

sudo apt update
sudo apt install emacs
# Or for no GUI version:
sudo apt install emacs-nox

Fedora/RHEL (DNF/YUM)

sudo dnf install emacs
# Or for newer systems:
sudo yum install emacs

Arch Linux (Pacman)

sudo pacman -S emacs
# Or from AUR for git version:
yay -S emacs-git

openSUSE (Zypper)

sudo zypper install emacs

Universal Package Formats

Flatpak

flatpak install flathub org.gnu.emacs
flatpak run org.gnu.emacs

Snap

sudo snap install emacs --classic

Building from Source (Expert)

I have attempted to build Emacs from source before and met with some difficulties when running the GUI version. I’d only recommend this path for experts.

# Install dependencies first (example for Ubuntu)
sudo apt install build-essential libgtk-3-dev libgnutls28-dev \
  libtiff5-dev libgif-dev libjpeg-dev libpng-dev libxpm-dev \
  libncurses-dev texinfo

# Download and build
wget https://ftp.gnu.org/gnu/emacs/emacs-29.4.tar.xz
tar xvf emacs-29.4.tar.xz
cd emacs-29.4
./configure
make -j$(nproc)
sudo make install

macOS

Official Binary

Homebrew (Recommended)

# Standard Emacs
brew install emacs

# Emacs Plus (with additional features)
brew tap d12frosted/emacs-plus
brew install emacs-plus@29

# Emacs Mac (native macOS port)
brew tap railwaycat/emacsmacport
brew install emacs-mac

MacPorts

sudo port install emacs-app
# Or for Emacs Mac variant:
sudo port install emacs-mac-app

Building from Source

# Install Xcode Command Line Tools first
xcode-select --install

# Download source
wget https://ftp.gnu.org/gnu/emacs/emacs-29.4.tar.xz
tar xvf emacs-29.4.tar.xz
cd emacs-29.4

# Configure and build
./configure --with-ns --with-native-compilation
make -j$(sysctl -n hw.ncpu)
make install

# Copy to Applications
cp -r nextstep/Emacs.app /Applications/

Windows

Official Pre-built Binaries (Recommended for beginners)

  1. Download from https://ftp.gnu.org/gnu/emacs/windows/
  2. Extract ZIP file (e.g., emacs-29.4.zip)
  3. Run bin\runemacs.exe
  4. Optionally add to PATH or create desktop shortcut

Chocolatey

choco install emacs

Scoop

scoop bucket add extras
scoop install emacs

WinGet (Windows Package Manager)

winget install GNU.Emacs

MSYS2 (for development environment)

# In MSYS2 terminal
pacman -S mingw-w64-x86_64-emacs

WSL (Windows Subsystem for Linux)

# Install WSL first, then use Linux installation methods
# For WSL2 with GUI support:
sudo apt update
sudo apt install emacs

# Run with:
emacs

Building from Source (Advanced)

Requires MSYS2 or similar build environment:

# In MSYS2 MINGW64 terminal
pacman -S base-devel mingw-w64-x86_64-toolchain
pacman -S mingw-w64-x86_64-giflib mingw-w64-x86_64-libtiff \
  mingw-w64-x86_64-libjpeg-turbo mingw-w64-x86_64-libpng \
  mingw-w64-x86_64-librsvg

# Download and build
./configure
make
make install

Version Managers

Emacs Version Manager (Multiple Versions)

# Install evm
git clone https://github.com/rejeep/evm.git ~/.evm

# Add to shell config
export PATH="$HOME/.evm/bin:$PATH"

# Install specific version
evm install emacs-29.4
evm use emacs-29.4

Post-Installation

After installing, verify with:

emacs --version

Start Emacs:

  • GUI: Run emacs
  • Terminal: Run emacs -nw
  • Daemon: emacs --daemon, then emacsclient -c