Everything you need to get hashcat running on your system — from hardware requirements to environment configuration and your first benchmark.
While hashcat is primarily a GPU tool, the CPU still matters for coordination, rule processing, and fallback cracking modes.
| Component | Minimum | Recommended |
|---|---|---|
| Architecture | x86_64 with SSE2 | AVX2 / AVX-512 support |
| Intel | Core i5 (8th gen+) | Core i7 / i9 (10th gen+) |
| AMD | Ryzen 5 | Ryzen 7 / Ryzen 9 |
| Cores | 4 cores | 8+ cores |
| RAM | 4 GB | 16 GB+ |
Hashcat uses SIMD instructions (AVX, AVX2, AVX-512) to accelerate CPU-based operations. Without AVX support, some hash modes will be significantly slower or unavailable in CPU-only mode.
lscpu | grep avx on Linux or sysctl -a | grep machdep.cpu.features on macOS.The GPU is the heart of hashcat's performance. A modern GPU can be 100–1000x faster than a CPU for most hash types.
Storage: 20 GB free space minimum (SSD strongly recommended for large wordlists). OS: 64-bit Windows 10/11, Linux (Ubuntu 20.04+, Kali), or macOS 11+.
Two paths: Homebrew (simplest) or building from source for the latest features.
# Install via Homebrew
brew install hashcat
# Verify installation
hashcat --version
hashcat -I # List detected compute devices
# Clone the repository
git clone https://github.com/hashcat/hashcat.git
cd hashcat
# Build
make -j$(sysctl -n hw.ncpu)
# Test
./hashcat --version
Apple removed OpenCL support in macOS 12+. Hashcat on Apple Silicon uses Metal via OpenCL compatibility layer. Performance is limited compared to dedicated NVIDIA/AMD GPUs. For serious work, consider a Linux machine with a discrete GPU.
# Package manager
sudo apt update
sudo apt install hashcat
# Or build from source
git clone https://github.com/hashcat/hashcat.git
cd hashcat
make -j$(nproc)
sudo make install
On Kali Linux, hashcat is pre-installed.
# 1. Download binary from
# https://hashcat.net/hashcat/
# 2. Extract the archive
# 3. Open CMD or PowerShell
cd C:\hashcat
# 4. Verify
.\hashcat.exe --version
.\hashcat.exe -I
No compilation needed — binaries are provided.
nvidia-smi for NVIDIA or rocm-smi for AMD. Without proper drivers, hashcat will fall back to CPU-only mode.Hashcat can be configured via environment variables for repeatable setups and automation scripts.
| Variable | Purpose | Example |
|---|---|---|
HASHCAT_HOME | Base directory for hashcat files | /opt/hashcat |
HASHCAT_LOG | Log file output path | /var/log/hashcat.log |
HASHCAT_GPU | Specify GPU device(s) to use | 1,2 |
HASHCAT_CPU | Force CPU-only mode | 1 |
HASHCAT_FORCE | Bypass warnings (use with caution) | 1 |
HASHCAT_WORKLOAD_PROFILE | Default workload profile (1-4) | 3 |
# Add to ~/.bashrc or ~/.zshrc
export HASHCAT_HOME="/opt/hashcat"
export HASHCAT_LOG="$HOME/.hashcat/logs"
export HASHCAT_WORKLOAD_PROFILE=3
After installation, run a benchmark to confirm hashcat can use your hardware and to establish a performance baseline.
# Full benchmark across all hash types
hashcat -b
# Benchmark a specific hash type (e.g., MD5 = 0)
hashcat -b -m 0
# Benchmark with specific device
hashcat -b -d 1
# Show detected devices
hashcat -I
Hashmode: 0 - MD5
Speed.#1.........: 52314.3 MH/s
Hashmode: 1000 - NTLM
Speed.#1.........: 93827.1 MH/s
Hashmode: 1800 - sha512crypt
Speed.#1.........: 412.8 kH/s
hashcat --versionhashcat -I and document your available compute deviceshashcat -b -m 0 and hashcat -b -m 1000 to compare MD5 vs NTLM speedshashcat -b) and identify the 3 fastest and 3 slowest hash types on your hardware.