Skip to main content

USB-Imager is a GUI application for Linux to write disk images to multiple USB drives at once.

PyPI version Supported Python versions License: GPLv3+ Pipeline status Monthly downloads Buy Me A Coffee
License:

GPLv3+

Copyright:

© 2021-2026 by Secu-Design®

Donation:

Buy Me A Coffee

USB-Imager screenshot

1. Requirements

  • Linux with a running udisks2 service, version 2.7.3 or newer

  • Python ≥ 3.10

  • PySide6 ≥ 6.4

  • jeepney ≥ 0.9

USB-Imager itself does not run as root. Device access is handled by udisks2, which authorizes writing via polkit. Depending on your distribution’s policy, you may be prompted for a password.

2. Features

  • Writing an image to multiple USB sticks at once

  • Automatic device detection

  • Very fast writing by using the linux system call sendfile() and large write buffers

  • Adjustable write buffer between 1 MiB and 4 MiB

  • Optional validation after writing

  • Optional checksum verification of the selected image

  • Detection and elimination of the following states of a device before writing:

    • Mounted

  • Shows a warning if an ISO file does not look bootable

  • Shows stats about writing time and overall speed

  • Selectable color schemes (Dark/Light Mode)

Planned:

  • Deactivation of LVM2 volumes before writing

  • Multilanguage support

  • Flatpak support

3. Installation

Virtual environment:

An installation in a virtual environment allows starting USB-Imager only from a terminal. If the command usb-imager is not available there, read section 5. Troubleshooting.

pipx:

$ pipx install usb-imager
$ usb-imager
$ pipx uninstall usb-imager

pipenv:

$ pipenv install usb-imager
$ pipenv run usb-imager
$ pipenv uninstall usb-imager

venv:

$ python3 -m venv venv
$ source venv/bin/activate
$ pip install usb-imager
$ usb-imager
$ pip uninstall usb-imager
$ deactivate
$ rm -rf venv

4. Usage

Type usb-imager in your terminal window to start USB-Imager. A start via a desktop icon will only be supported by the planned Flatpak package.

5. Troubleshooting

On some Linux distributions USB-Imager cannot be started from the command line when it was installed into ~/.local, as pipx does. ~/.local/bin is not part of the executable search path on every system. Add the directory to the search path of your shell, then open a new terminal.

Bash, Zsh and other POSIX shells, in ~/.profile:

PATH=~/.local/bin:$PATH

Fish:

$ fish_add_path ~/.local/bin

6. Support

If you want to report a bug or request a feature, you can do so here.
You can also write an email to Secu-Design® | Development.

7. Donate

If you like USB-Imager and want to support its development, you can buy me a coffee.

Release files for USB-Imager 4.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for USB-Imager 4.0.0
File Size Uploaded
usb_imager-4.0.0.tar.gz 192.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for USB-Imager 4.0.0
File Interpreter ABI Platform
usb_imager-4.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 382.9 kB

Release files / usb_imager-4.0.0.tar.gz

Download URL usb_imager-4.0.0.tar.gz
Size 192.0 kB
Tags Source
SHA-256 checksum
How to use checksums
c55b5870305a857013c89258ccda50f2c44c83258b0db5c4e65d4079ae217472
BLAKE2b-256 checksum
How to use checksums
5a1f8d920a8fb6531efffaae73695353f1b7995582a9e63bb63beb31686a158c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.20

Release files / usb_imager-4.0.0-py3-none-any.whl

Download URL usb_imager-4.0.0-py3-none-any.whl
Size 190.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
85480fb64adf48b70c6fdedf51ca833a3cd283f2b1a4d7569b065869224c0435
BLAKE2b-256 checksum
How to use checksums
351edf179f3bbf0212cb954ea8bfe825a822a57216c41107f71f83ae0828a58a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.10.20

Release history Release notifications | RSS feed

4.1.2

2 release files

4.1.1

2 release files

4.1.0

2 release files

This release

4.0.0 This release

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.2.2

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.1

2 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page