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.
Visit the official download page
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.
Install for your platform
See platform-specific instructions below.
Install from binary
Download and extract the archive:
tar -xzf bitcoin- * -x86_64-linux-gnu.tar.gz
cd bitcoin- * /
Copy binaries to your PATH:
sudo install -m 0755 -o root -g root -t /usr/local/bin bin/ *
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 Install from DMG
Install the application
Open the downloaded .dmg file
Drag Bitcoin Core to your Applications folder
Launch Bitcoin Core from Applications
First launch
On first launch, macOS may require you to confirm opening the application from an identified developer.
Command-line access To access Bitcoin Core tools from the terminal: # Add to your PATH or create aliases
alias bitcoin-cli = "/Applications/Bitcoin-Qt.app/Contents/MacOS/bitcoin-cli"
alias bitcoind = "/Applications/Bitcoin-Qt.app/Contents/MacOS/bitcoind"
Configuration location Default data directory: ~/Library/Application Support/Bitcoin/
Configuration file: ~/Library/Application Support/Bitcoin/bitcoin.conf Install from installer
Run the installer
Double-click the downloaded .exe file and follow the installation wizard.
Launch Bitcoin Core
Start Bitcoin Core from the Start menu or desktop shortcut.
Portable installation Alternatively, download the .zip archive and extract to any directory:
Extract the archive
Run bitcoin-qt.exe (GUI) or bitcoind.exe (daemon)
Configuration location Default data directory: %LOCALAPPDATA%\Bitcoin\ Example: C:\Users\username\AppData\Local\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
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
Clone the repository
git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin
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
Disable wallet
Disable GUI
Enable ZMQ
Disable IPC
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
Install Xcode Command Line Tools
Click Install in the popup that appears.
Install Homebrew
If not already installed, get Homebrew from brew.sh
Install dependencies
brew install cmake boost pkgconf libevent capnp
For GUI support:
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)
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:
Check version
Run in regtest mode
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