package icon

Rufid

Write and recover bootable USB media
New in version 0.2.1
Create Windows installer media as FAT32, NTFS MBR, or NTFS GPT.
Split install.wim over 4 GiB for FAT32 using source-built wimlib.
Add ISO9660/UDF extraction, path validation, progress, cancellation, and partial-failure cleanup.
Add source-built NTFS-3G and UEFI:NTFS layouts.
Harden USB BOT reset, halt clearing, CSW residue checks, and ambiguous-write handling.
Pin the 7-Zip-JBinding source build to the release Gradle toolchain.

Virtual QEMU/OVMF boot validation is complete. Physical USB and PC
Rufid turns an Android phone into a practical USB boot-media tool.

It writes local ISO/IMG files to attached USB mass-storage devices, streams direct image URLs, creates a small FreeDOS drive, verifies written media, inspects boot records, runs read benchmarks, backs up a USB device to an Android document, extracts ZIP files, and recovers used boot media back into a normal FAT32 or exFAT drive.

Windows installer ISOs can be written as a FAT32 UEFI layout, with install.wim split when it exceeds the FAT32 file-size limit, or as an NTFS data volume with an MBR or GPT UEFI:NTFS helper layout. These paths have been booted to the Windows Setup language screen in QEMU/OVMF. Physical USB controllers and PC firmware remain a separate compatibility test surface.

The main workflow is phone-first: select a USB device, inspect it, choose an ISO/IMG, URL, or FreeDOS source, review the plan, write, and verify. Direct URL mode includes quick access to official source pages for Windows, Ubuntu, Fedora, Debian, Linux Mint, Arch Linux, and openSUSE; it does not bundle those operating system images.

Destructive USB actions are guarded by an explicit plan screen and confirmation. Rufid shows the selected USB device, size, and available hardware identifiers before write or recovery operations. It is designed for external USB mass-storage devices, not internal Android storage.

Rufid has no ad SDK, analytics SDK, billing SDK, Firebase dependency, cloud account system, or remote crash-reporting SDK. Error reports stay local on the device.

The F-Droid build path packages the boot payload set from auditable inputs. FreeDOS is assembled from source-built FreeDOS kernel, FreeCOM, SYS, and boot sector artifacts. UEFI:NTFS, wimlib, NTFS-3G tools, and 7-Zip-JBinding are staged from pinned upstream source paths, and the 7-Zip-JBinding Android build excludes RAR/unRAR native sources. No payload is extracted from an opaque third-party APK.

USB recovery is a metadata quick-wipe plus FAT32 or exFAT format flow. It is useful for returning a boot USB to normal storage use, but it is not secure erase and not a full-disk wipe.

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 0.2.1 (5) suggested Added on Jul 21, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 7.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.

    Download APK 6.8 MiB PGP Signature | Build Log

  • New in version 0.1.2
    USB write compatibility hotfix:

    - Treat unsupported final SCSI SYNCHRONIZE CACHE responses as non-fatal after image data has been written
    - Covers Illegal Request responses including invalid command, invalid command field, and invalid parameter-list reports
    - Keeps actual USB data WRITE failures, capacity errors, medium errors, and hardware errors fatal
    - Adds clearer local error reports that distinguish data WRITE failures from final cache-sync failures
  • Version 0.1.2 (3) - Added on Jul 02, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 7.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.

    Download APK 11 MiB PGP Signature | Build Log