Convert Figma logo to code with AI

balena-io logoetcher

Flash OS images to SD cards & USB drives, safely and easily.

29,286
2,084
29,286
455

Top Related Projects

19,460

This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.

61,611

A new bootable USB solution.

28,275

The Reliable USB Formatting Utility

UNetbootin installs Linux/BSD distributions to a partition or USB drive

Quick Overview

Etcher is an open-source, cross-platform tool for flashing OS images to SD cards and USB drives. It provides a user-friendly interface for creating bootable media, primarily used for installing operating systems on single-board computers like Raspberry Pi or for creating live USB drives.

Pros

  • Cross-platform compatibility (Windows, macOS, Linux)
  • User-friendly interface with a simple three-step process
  • Supports writing compressed images directly, without prior extraction
  • Built-in validation to ensure successful and accurate flashing

Cons

  • Large application size compared to command-line alternatives
  • Occasional issues with specific hardware combinations
  • Limited customization options for advanced users
  • Requires administrative privileges to run, which may be a concern in some environments

Getting Started

To use Etcher:

  1. Download the appropriate version for your operating system from the official website.
  2. Install and launch Etcher.
  3. Click "Flash from file" to select your image.
  4. Select the target drive.
  5. Click "Flash!" to begin the process.

Note: Etcher is not a code library, so there are no code examples or quick start instructions for developers. It's an end-user application for flashing OS images.

Competitor Comparisons

19,460

This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.

Pros of FreeCAD

  • Comprehensive 3D modeling and CAD software with a wide range of features
  • Open-source and cross-platform, supporting Windows, macOS, and Linux
  • Large and active community contributing to development and support

Cons of FreeCAD

  • Steeper learning curve compared to Etcher's simple interface
  • Larger file size and more system resources required for installation and use
  • More complex setup process and dependencies

Code Comparison

FreeCAD (Python):

import FreeCAD as App
import Part

doc = App.newDocument()
box = Part.makeBox(10, 10, 10)
doc.addObject("Part::Feature", "Box").Shape = box
doc.recompute()

Etcher (JavaScript):

const electron = require('electron');
const path = require('path');
const { autoUpdater } = require('electron-updater');

const app = electron.app;
const ipc = electron.ipcMain;

FreeCAD is a full-featured CAD software using Python for scripting, while Etcher is a simpler tool for creating bootable USB drives, primarily using JavaScript and Electron. The code snippets reflect their different purposes and complexity levels.

61,611

A new bootable USB solution.

Pros of Ventoy

  • Supports multiple ISO files on a single USB drive
  • No need to reformat the USB drive for each new ISO
  • Faster boot times for subsequent OS installations

Cons of Ventoy

  • Slightly more complex initial setup process
  • May not work with some older BIOS systems
  • Limited GUI options compared to Etcher

Code Comparison

Etcher (JavaScript):

function flashImage(image, drive, options) {
  return new Promise((resolve, reject) => {
    // Image flashing logic
  });
}

Ventoy (C):

int ventoy_fill_iso_data(PVENTOY_ISO_DATA data, const char *iso_path)
{
    // ISO data filling logic
}

Etcher focuses on a user-friendly GUI and cross-platform compatibility, making it easier for beginners to create bootable USB drives. It uses Electron and JavaScript, allowing for a more modern and responsive interface.

Ventoy, written in C, prioritizes efficiency and versatility. It creates a bootable USB drive that can hold multiple ISO files, eliminating the need to reformat the drive for each new operating system. This approach is particularly useful for system administrators and power users who frequently work with multiple operating systems.

While Etcher excels in ease of use and cross-platform support, Ventoy offers more flexibility and efficiency for advanced users who need to work with multiple ISO files regularly.

28,275

The Reliable USB Formatting Utility

Pros of Rufus

  • Smaller file size and faster installation process
  • Supports a wider range of bootable media creation options
  • More frequent updates and active development

Cons of Rufus

  • Windows-only application, limiting cross-platform usage
  • Less user-friendly interface compared to Etcher's modern design
  • Lacks built-in verification feature for created bootable media

Code Comparison

Rufus (C):

BOOL SetAutoRun(const char* path)
{
    HKEY hAutoRun;
    DWORD disp;
    CHECK_RETURN(ERROR_SEVERITY_ERROR, HRESULT_FROM_WIN32(RegCreateKeyExA(HKEY_LOCAL_MACHINE,
        "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, NULL,
        REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hAutoRun, &disp)));
    CHECK_RETURN(ERROR_SEVERITY_ERROR, HRESULT_FROM_WIN32(RegSetValueExA(hAutoRun,
        "Rufus", 0, REG_SZ, (BYTE*)path, (DWORD)(strlen(path) + 1))));
    RegCloseKey(hAutoRun);
    return TRUE;
}

Etcher (JavaScript):

function createWindowIcon() {
  const trayIcon = nativeImage.createFromPath(
    path.join(__dirname, '..', 'assets', 'tray', 'icon.png')
  )
  trayIcon.setTemplateImage(true)
  return trayIcon
}

Both projects serve similar purposes but cater to different user bases and operating systems. Rufus offers more advanced features for Windows users, while Etcher provides a simpler, cross-platform solution for creating bootable USB drives.

UNetbootin installs Linux/BSD distributions to a partition or USB drive

Pros of UNetbootin

  • Supports a wider range of operating systems, including older versions of Windows and Linux distributions
  • Offers a built-in download feature for various Linux distributions and system utilities
  • Lighter on system resources, making it suitable for older or less powerful computers

Cons of UNetbootin

  • Less intuitive user interface compared to Etcher's modern design
  • Lacks built-in verification of created bootable media
  • Development appears to be less active, with fewer recent updates

Code Comparison

UNetbootin (C++):

void unetbootin::fininstall()
{
    instIndvFiles();
    if (installType == tr("USB Drive"))
    {
        finishLoading();
    }
    else if (installType == tr("Hard Disk"))
    {
        // Hard disk installation logic
    }
}

Etcher (JavaScript):

function createFlasher(options) {
  const flasher = new Flasher(options);
  flasher.on('progress', (state) => {
    updateProgress(state);
  });
  return flasher;
}

The code snippets show different approaches: UNetbootin uses C++ for low-level operations, while Etcher employs JavaScript, reflecting its Electron-based architecture for cross-platform compatibility.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Etcher

Flash OS images to SD cards & USB drives, safely and easily.

Etcher is a powerful OS image flasher built with web technologies to ensure flashing an SDCard or USB drive is a pleasant and safe experience. It protects you from accidentally writing to your hard-drives, ensures every byte of data was written correctly, and much more. It can also directly flash Raspberry Pi devices that support USB device boot mode.

Current Release License Balena.io Forums


Download | Support | Documentation | Contributing | Roadmap

Supported Operating Systems

  • Linux; most distros; Intel 64-bit.
  • Windows 10 and later; Intel 64-bit.
  • macOS 10.13 (High Sierra) and later; both Intel and Apple Silicon.

Installers

Refer to the downloads page for the latest pre-made installers for all supported operating systems.

Packages

Debian and Ubuntu based Package Repository (GNU/Linux x86/x64)

Package for Debian and Ubuntu can be downloaded from the Github release page

Install .deb file using apt
   sudo apt install ./balena-etcher_******_amd64.deb
Uninstall
   sudo apt remove balena-etcher

Redhat (RHEL) and Fedora-based Package Repository (GNU/Linux x86/x64)

Yum

Package for Fedora-based and Redhat can be downloaded from the Github release page

  1. Install using yum
   sudo yum localinstall balena-etcher-***.x86_64.rpm

Arch/Manjaro Linux (GNU/Linux x64)

Etcher is offered through the Arch User Repository and can be installed on both Manjaro and Arch systems. You can compile it from the source code in this repository using balena-etcher. The following example uses a common AUR helper to install the latest release:

yay -S balena-etcher
Uninstall
yay -R balena-etcher

WinGet (Windows)

This package is updated by gh-action, and is kept up to date automatically.

winget install balenaEtcher #or Balena.Etcher
Uninstall
winget uninstall balenaEtcher

Chocolatey (Windows)

This package is maintained by @majkinetor, and is kept up to date automatically.

choco install etcher
Uninstall
choco uninstall etcher

Support

If you're having any problem, please raise an issue on GitHub, and the balena.io team will be happy to help.

License

Etcher is free software and may be redistributed under the terms specified in the license.

NPM DownloadsLast 30 Days