Skip to main content
Bitcoin Core can be installed via pre-built binaries or compiled from source. This guide covers both methods for major platforms.

Download pre-built binaries

For most users, downloading pre-built binaries is the fastest and easiest option.
1

Visit the official download page

Go to bitcoincore.org/en/download to download the latest stable release.
2

Verify the download

Always verify downloads before installation. Bitcoin Core is security-critical software.
Verify signatures and checksums according to the instructions on the download page.
3

Install for your platform

See platform-specific instructions below.

Platform-specific installation

Install from binary

  1. Download and extract the archive:
tar -xzf bitcoin-*-x86_64-linux-gnu.tar.gz
cd bitcoin-*/
  1. Copy binaries to your PATH:
sudo install -m 0755 -o root -g root -t /usr/local/bin bin/*
  1. Run Bitcoin Core:
bitcoin-qt  # GUI version
# or
bitcoind    # Headless daemon

System requirements

Bitcoin Core requires several hundred gigabytes of disk space for the full blockchain. Ensure you have sufficient space before installation.
Disk space options:
  • Full node: 500+ GB (and growing)
  • Pruned node: Configurable minimum (e.g., 50 GB with prune=50000)

Configuration location

Default data directory: ~/.bitcoin/ Configuration file: ~/.bitcoin/bitcoin.conf

Building from source

For developers or users who want to build from source, Bitcoin Core supports multiple platforms.
Building from source requires technical knowledge and several dependencies. Most users should use pre-built binaries.

Prerequisites

All platforms require:
  • C++ compiler (see dependencies.md for version requirements)
  • CMake 3.22 or later
  • Python 3

Build on Linux/Unix

1

Install dependencies

Ubuntu/Debian:
sudo apt-get install build-essential cmake pkgconf python3
sudo apt-get install libevent-dev libboost-dev libsqlite3-dev
For GUI support:
sudo apt-get install qt6-base-dev qt6-tools-dev qt6-l10n-tools \
                     qt6-tools-dev-tools libgl-dev libqrencode-dev
For ZMQ support:
sudo apt-get install libzmq3-dev
2

Clone the repository

git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin
3

Configure and build

# Configure
cmake -B build

# See all options
cmake -B build -LH

# Build (use -j for parallel jobs)
cmake --build build -j$(nproc)

# Optional: Install
sudo cmake --install build

Build options

cmake -B build -DENABLE_WALLET=OFF

Memory-constrained systems

If you have limited RAM (less than 1.5 GB), use these compiler flags to reduce memory usage:
cmake -B build -DCMAKE_CXX_FLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768"
Or reduce debug info:
cmake -B build -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O2 -g0"

Build on macOS

1

Install Xcode Command Line Tools

xcode-select --install
Click Install in the popup that appears.
2

Install Homebrew

If not already installed, get Homebrew from brew.sh
3

Install dependencies

brew install cmake boost pkgconf libevent capnp
For GUI support:
brew install qt@6
4

Clone and build

git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin

cmake -B build
cmake --build build -j$(sysctl -n hw.ncpu)
macOS ships with a usable SQLite package, so you don’t need to install it separately for wallet functionality.

Build on Windows

Bitcoin Core can be built on Windows using several methods:

Option 1: Windows Subsystem for Linux (WSL)

1

Install WSL

2

Build in WSL

Once WSL is set up, follow the Linux build instructions above.

Option 2: Cross-compile from Linux

You can cross-compile Windows binaries from Linux:
# Install cross-compilation toolchain
sudo apt-get install g++-mingw-w64-x86-64-posix

# Clone repository
git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin

# Build dependencies and Bitcoin Core
gmake -C depends HOST=x86_64-w64-mingw32 -j$(nproc)
cmake -B build --toolchain depends/x86_64-w64-mingw32/toolchain.cmake
cmake --build build -j$(nproc)

Option 3: Microsoft Visual Studio

See build-windows-msvc.md for detailed instructions on building with Visual Studio.
For WSL builds, the Bitcoin Core source path must be in the default WSL filesystem (e.g., /usr/src/bitcoin), not under /mnt/ on the Windows filesystem, or dependency scripts will fail.

Post-installation

Create a configuration file

Create bitcoin.conf in your data directory to customize Bitcoin Core:
# Network options
testnet=0  # Use mainnet (default)
# testnet=1  # Use testnet
# signet=1   # Use signet
# regtest=1  # Use regression test mode

# Connection options
maxconnections=125
maxuploadtarget=5000  # Limit upload to 5GB/day

# RPC options
server=1  # Enable RPC server
rpcauth=user:salt$hash  # Use rpcauth for security

# Storage options
prune=50000  # Prune blockchain to ~50GB
# prune=0    # Store full blockchain (default)

# Performance
dbcache=4000  # Database cache size in MiB
Use contrib/devtools/gen-bitcoin-conf.sh to generate an example configuration file with all available options after building from source.

Verify installation

Test your installation:
bitcoind --version

Storage considerations

Full node

  • Current size: 500+ GB (as of 2024)
  • Growth rate: ~50-100 GB per year
  • Recommended: 1 TB+ for future growth

Pruned node

Reduce storage requirements by pruning old block data:
# bitcoin.conf
prune=50000  # Keep ~50 GB of recent blocks
With pruning enabled, you can still validate new transactions and participate in the network, but you cannot serve historical blockchain data to other nodes.

Next steps

Configuration guide

Learn about bitcoin.conf options and network settings

Security best practices

Secure your Bitcoin Core installation

RPC authentication

Set up secure RPC access with rpcauth

Running a node

Best practices for operating a Bitcoin node