Most people restore an iPhone or iPad with Finder, the Apple Devices app or iTunes. There is another route: idevicerestore, an open-source command-line tool from the libimobiledevice project that applies an IPSW directly. It is the reason our signing guides list it alongside Apple’s own software — but we have never explained what it actually is.
Direct Answer: idevicerestore is a full open-source reimplementation of Apple’s restore sequence, not a wrapper around iTunes. It applies a signed IPSW to a connected device from the command line, works on macOS, Linux and Windows, and can erase your data irreversibly. It cannot install unsigned firmware — Apple’s signing check still applies exactly as it does everywhere else.
What It Actually Is
This is the part worth being precise about. idevicerestore does not drive iTunes or Finder behind the scenes. The project describes it as a reimplementation of every granular step performed during a firmware restore — it talks to the device itself, moves the device between recovery and restore states, sends each firmware component, and hands the filesystem image to the device’s own restore service.
That has two consequences. It runs where Apple’s software does not, notably Linux. And when it fails, it fails at a specific named step, which is far more diagnostic than a generic error dialog.
What It Cannot Do
It cannot bypass signing. A restore still contacts Apple for authorisation, and an unsigned build is refused here exactly as it is in Finder. If you are hoping a command-line tool is a way around a closed signing window, it is not — see what a signed IPSW is and how to check signing status before you start, because that check determines whether any of this can work.
It also will not rescue a device that no computer can see. If the device is not detected in any mode, see when a device that charges is not detected — that is a hardware problem and no tool reaches it.
When You Would Reach For It
- You are on Linux. This is the main reason. Apple ships nothing for Linux, and this is the established route.
- You want to script it. Restoring devices repeatedly, or as part of an automated workflow, is far easier from a command line than a GUI.
- You want to see where it fails. The output names the step, which makes diagnosis concrete rather than guesswork.
- You are restoring an old device that modern Apple software handles awkwardly.
For everything else, Apple’s own tools are the better choice — they are supported, and for most people restoring with Finder, iTunes or Apple Devices is simpler and less likely to go wrong.
The Warning, In The Project’s Own Words
The developers state plainly that the tool can easily destroy user data irreversibly, and advise backing up before attempting a restore. That is not boilerplate. There is no confirmation dialog standing between a mistyped command and an erased device, and no undo. Treat it accordingly.
Prerequisites, By Platform
| Platform | What you need |
|---|---|
| Linux | A working usbmuxd installation. The project is explicit that it must either be running or configured to start automatically when a device is detected in normal or restore mode. Most restore failures on Linux trace back to this. |
| macOS | Generally the smoothest platform, since the underlying device communication is already present. Close Apple Configurator and Xcode first — if another application is holding the device, tools competing for it will not see it. |
| Windows | Apple’s mobile device drivers must be installed and working. This is the most fragile platform of the three, for reasons covered below. |
You also need the correct IPSW for your exact device identifier — not just the model name. Confirm it with identify your iPhone model, and verify the download with an IPSW checksum check before you use it. A truncated download fails partway through a command-line restore just as it does anywhere else.
The Failure Modes People Actually Hit
These are the recurring reports in the project’s own issue tracker, and knowing them in advance saves a lot of time.
- The device will not enter restore mode. It drops back to recovery mode instead, and the restore aborts. One of the most frequently filed problems.
- Failures during the filesystem stage. Reported as the device’s restore service being unable to receive or validate data. Often a cable, port or connection-stability problem rather than a tool problem — the transfer is large and sustained, and an intermittent connection breaks it.
- Windows driver trouble. Specific Apple driver versions delivered through Windows Update have broken third-party tools while leaving iTunes working, and devices sometimes move between USB categories in Device Manager and need to be removed and rediscovered before they are seen again.
- Newer devices, older tool. Components in recent firmware may not be recognised by an older build of the tool. If your device is new, build a current version rather than using whatever your package manager offers.
Cables and ports matter more here than people expect. Connect directly to the machine, avoid hubs, and use a known-good cable — the same advice that applies to errors 4013 and 4014 in Apple’s own software, for the same underlying reason.
Is It Worth It?
If you are on Linux or automating, yes — there is no real alternative. If you are on macOS or Windows restoring a single device, Apple’s software does the same job with guardrails. The tool is genuinely good, but it assumes you know what you are doing and will not stop you doing something destructive.
You can browse firmware for every model from the iPhone firmware page.
FAQ
What is idevicerestore?
An open-source command-line tool from the libimobiledevice project that restores or upgrades firmware on iOS devices. It is a full reimplementation of the restore sequence rather than a wrapper around Apple’s software, which is why it runs on Linux as well as macOS and Windows.
Can idevicerestore install unsigned firmware?
No. The restore is still authorised by Apple, and an unsigned build is refused exactly as it would be in Finder. Using a different tool does not change what Apple will approve.
Is it safe to use?
It works as intended, but the project itself warns that it can destroy user data irreversibly and advises backing up first. There is no confirmation step or undo, so it is less forgiving than Apple’s software.
Do I need anything special on Linux?
Yes. A working usbmuxd installation is required, either running or set to start automatically when a device is detected in normal or restore mode. Missing or misconfigured usbmuxd is behind a large share of Linux restore failures.
Why does the device keep going back to recovery mode instead of restore mode?
This is one of the most commonly reported failures. It generally points at connection stability or a mismatch between the tool version and the device or firmware — check the cable and port first, then make sure you are running a current build.
Should I use this instead of Finder or the Apple Devices app?
Only if you have a reason: Linux, automation, or wanting to see exactly which step fails. For a single restore on macOS or Windows, Apple’s own software is simpler and safer.