### Purpose of This Repository
**Armbian Imager** is the official tool for downloading and flashing Armbian OS images to single-board computers. It focuses on safe and reliable flashing of Armbian images, with board-aware guidance and verification.
### Key features
- Support for **300+ boards** with smart filtering and board-aware metadata
- Disk safety checks, checksum validation, and post-write **verification**
- Native cross-platform builds for **Linux**, **Windows**, and **macOS** (x64 and ARM64)
- **Multi-language UI** with automatic system language detection
- Automatic application updates
- Small binary size and minimal runtime dependencies
### Testimonials
> “A proper multi-platform desktop app that actually works, which is rarer than you’d think.”
> — *Bruno Verachten*, *Senior Developer Relations Engineer* ([source](https://www.linkedin.com/pulse/adding-risc-v-support-armbian-imager-tale-qemu-tauri-deja-verachten-86fxe))
> "The Upcoming Armbian Imager Tool is a Godsend for Non-Raspberry Pi SBC Owners"
> — *Sourav Rudra*, *It's FOSS* ([source](https://itsfoss.com/news/armbian-imager-quietly-debuts/))
> "According to Armbian, this results in less RAM and storage usage and a faster experience."
> — *Jordan Gloor*, *HowtoGeek.com* ([source](https://www.howtogeek.com/armbians-raspberry-pi-imager-alternative-is-here/))
## Download
|
|
|
|
|:---:|:---:|:---:|
| **macOS** | **Windows** | **Linux** |
| [Intel & Apple Silicon](https://github.com/armbian/imager/releases) | [x64 & ARM64](https://github.com/armbian/imager/releases) | [x64 & ARM64](https://github.com/armbian/imager/releases) |
| `.dmg` / `.app.zip` | `.exe` / `.msi` | `.deb` / `.AppImage` |
### macOS: First Launch
macOS may show a warning because the app is not signed with an Apple Developer certificate. To open it:
1. Try to open the app (it will be blocked)
2. Go to **System Settings** → **Privacy & Security**
3. Scroll down and click **Open Anyway** next to "Armbian Imager was blocked"
4. Click **Open** in the confirmation dialog
This only needs to be done once.
## How It Works
1. **Select Manufacturer** — Choose from 70+ SBC manufacturers or load a custom image
2. **Select Board** — Pick your board with real photos from armbian.com
3. **Select Image** — Choose desktop/server, kernel variant, stable/nightly
4. **Flash** — Download, decompress, write, and verify automatically
## Platform Support
| Platform | Architecture | Status | Notes |
|----------|-------------|--------|-------|
| macOS | Intel x64 | ✅ | Full support |
| macOS | Apple Silicon | ✅ | Native ARM64 + Touch ID |
| Windows | x64 | ✅ | Run as Administrator |
| Windows | ARM64 | ✅ | Native ARM64 build, run as Administrator |
| Linux | x64 | ✅ | UDisks2 + pkexec for privileges |
| Linux | ARM64 | ✅ | Native ARM64 build |
### Supported Languages
English, Italian, German, French, Spanish, Portuguese, Dutch, Polish, Russian, Chinese, Japanese, Korean, Ukrainian, Turkish, Slovenian
## Development
### Prerequisites
- **Node.js 20+** — [nodejs.org](https://nodejs.org)
- **Rust 1.77+** — [rustup.rs](https://rustup.rs)
- **Platform tools** — Xcode (macOS), Visual Studio Build Tools (Windows), build-essential (Linux)
### Quick Start
```bash
git clone https://github.com/armbian/imager.git armbian-imager
cd armbian-imager
npm install
npm run tauri:dev
```
### Scripts
```bash
npm run dev # Frontend only (Vite)
npm run tauri:dev # Full app with hot reload
npm run build # Build frontend for production
npm run tauri:build # Build distributable
npm run tauri:build:dev # Build with debug symbols
npm run lint # ESLint
npm run clean # Clean all build artifacts
```
### Build Scripts
```bash
./scripts/build-macos.sh [--clean] [--dev] # macOS ARM64 + x64
./scripts/build-linux.sh [--clean] [--dev] # Linux x64 + ARM64
./scripts/build-all.sh [--clean] [--dev] # All platforms
```
## Tech Stack
| Layer | Technology | Why |
|-------|------------|-----|
| **UI** | React 19 + TypeScript | Type-safe, component-based UI |
| **Bundler** | Vite | Lightning-fast HMR and builds |
| **Framework** | Tauri 2 | Native performance, tiny bundle |
| **Backend** | Rust | Memory-safe, blazing fast I/O |
| **Async** | Tokio | Efficient concurrent operations |
| **i18n** | i18next | 15 language translations |
### Why Tauri over Electron?
| Metric | Armbian Imager (Tauri) | Typical Electron App |
|--------|------------------------|---------------------|
| App Size | ~15 MB | 150-200 MB |
| RAM Usage | ~50 MB | 200-400 MB |
| Startup | < 1 second | 2-5 seconds |
| Native Feel | ✅ Uses system webview | ❌ Bundles Chromium |
## Project Structure
Click to expand
```
armbian-imager/
├── src/ # React Frontend
│ ├── components/ # UI Components
│ │ ├── flash/ # Flash progress components
│ │ ├── layout/ # Header, HomePage
│ │ ├── modals/ # Board, Image, Device, Manufacturer modals
│ │ └── shared/ # Reusable components (UpdateModal, ErrorDisplay, etc.)
│ ├── hooks/ # React Hooks (Tauri IPC, async data)
│ ├── config/ # Badges, manufacturers, OS info
│ ├── locales/ # i18n translations (15 languages)
│ ├── styles/ # Modular CSS
│ ├── types/ # TypeScript interfaces
│ ├── utils/ # Utility functions
│ └── assets/ # Images, logos, OS icons
│
├── src-tauri/ # Rust Backend
│ ├── src/
│ │ ├── commands/ # Tauri IPC handlers
│ │ ├── config/ # Application configuration and constants
│ │ ├── devices/ # Platform device detection
│ │ ├── flash/ # Platform flash (macOS, Linux, Windows)
│ │ ├── images/ # Image management and filtering
│ │ ├── logging/ # Session logging
│ │ ├── paste/ # Log upload to paste.armbian.com
│ │ ├── utils/ # Shared utility functions
│ │ ├── download.rs # HTTP streaming downloads
│ │ └── decompress.rs # Decompression (XZ, GZ, ZSTD)
│ └── icons/ # App icons (all platforms)
│
├── scripts/ # Build scripts
└── .github/workflows/ # CI/CD
```
## Data Sources
| Data | Source |
|------|--------|
| Board List & Images | [github.armbian.com/armbian-images.json](https://github.armbian.com/armbian-images.json) |
| Board Photos | [cache.armbian.com/images/272/{slug}.png](https://cache.armbian.com/images/) |
| Vendor Logos | [cache.armbian.com/images/vendors/272/{vendor}.png](https://cache.armbian.com/images/vendors/272/) |
| MOTD Tips | [raw.githubusercontent.com/armbian/os/main/motd.json](https://raw.githubusercontent.com/armbian/os/main/motd.json) |
| Log Upload | [paste.armbian.com](https://paste.armbian.com) |
## Acknowledgments
- [Raspberry Pi Imager](https://github.com/raspberrypi/rpi-imager) — The inspiration for this project
- [Tauri](https://tauri.app/) — The framework that makes native apps accessible
- [i18next](https://www.i18next.com/) — Internationalization framework
- [Lucide](https://lucide.dev/) — Beautiful icons
- [Armbian Community](https://forum.armbian.com) — For years of amazing work on SBC support
---
Made with ❤️ by the Armbian community