# balenaEtcher — Cross-Platform OS Image Flasher > balenaEtcher is an open-source tool for flashing OS images to SD cards and USB drives safely and easily. It runs on Windows, macOS, and Linux with a simple three-step workflow. ## Install Save as a script file and run: # balenaEtcher — Cross-Platform OS Image Flasher ## Quick Use ```bash # Install on macOS brew install --cask balenaetcher # Install on Linux (AppImage) wget https://github.com/balena-io/etcher/releases/latest/download/balenaEtcher-linux-x64.AppImage chmod +x balenaEtcher-linux-x64.AppImage ./balenaEtcher-linux-x64.AppImage # Usage: Select image -> Select drive -> Flash ``` ## Introduction balenaEtcher is a cross-platform desktop application that writes OS images to SD cards and USB drives. Built by the balena team, it provides a minimal three-step interface — select image, select target, flash — that eliminates the risk of accidentally overwriting the wrong drive. It is widely used for flashing Raspberry Pi images, Linux live USBs, and embedded device firmware. ## What balenaEtcher Does - Writes IMG, ISO, ZIP, and other compressed image formats to removable drives - Validates the written image after flashing to catch silent write errors - Supports flashing to multiple drives simultaneously for batch provisioning - Prevents accidental selection of system drives with built-in drive protection - Provides a progress bar with estimated time remaining during writes ## Architecture Overview balenaEtcher is built with Electron for the desktop UI and uses native Node.js modules for low-level disk access. The flashing engine (etcher-sdk) handles image decompression, block-level writing, and post-write validation in a streaming pipeline. Drive detection relies on OS-specific APIs wrapped through the drivelist module. The application requests elevated privileges only for the actual write operation, keeping the UI running as a regular user process. ## Self-Hosting & Configuration - Download installers or portable builds from GitHub Releases for Windows, macOS, and Linux - Available as AppImage, DEB, and RPM packages for Linux distributions - Install via Homebrew Cask on macOS or Chocolatey on Windows - No configuration files needed — the application is ready to use after installation - CLI mode available via balena-cli for headless or scripted flashing workflows ## Key Features - Three-step UI makes flashing accessible to beginners with no command-line knowledge - Post-write validation ensures the image was written correctly before ejecting - Hard drive filter prevents accidental overwrites of internal system disks - Multi-write mode flashes the same image to several drives at once - Supports URL-based image sources for direct download-and-flash workflows ## Comparison with Similar Tools - **Rufus** — Windows-only with more advanced partition and boot options; balenaEtcher is cross-platform with a simpler interface - **dd** — the classic Unix command-line tool; powerful but easy to misuse without drive protection - **Raspberry Pi Imager** — tailored for Raspberry Pi OS images with Wi-Fi pre-configuration; balenaEtcher works with any image - **Ventoy** — creates multi-boot USB drives from multiple ISOs; balenaEtcher writes a single image per drive ## FAQ **Q: Does balenaEtcher verify the flash was successful?** A: Yes. After writing, it reads back the drive contents and compares them to the source image to detect errors. **Q: Can balenaEtcher flash ISO files for Linux distros?** A: Yes. It handles ISO, IMG, ZIP, GZ, BZ2, and XZ formats directly. **Q: Why does balenaEtcher need admin/root privileges?** A: Writing directly to block devices requires elevated permissions on all operating systems. **Q: Is there a command-line version?** A: The balena CLI includes flashing capabilities, but the primary interface is the desktop GUI. ## Sources - https://github.com/balena-io/etcher - https://etcher.balena.io/ --- Source: https://tokrepo.com/en/workflows/asset-0d96a26c Author: Script Depot