---
name: "idevicerestore"
section: "1"
platform: "linux"
package: "idevicerestore"
version: "1.0.0+git20240709-1+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/idevicerestore"
---

# idevicerestore(1)

Restore IPSW firmware at PATH to an iOS device

## NAME

idevicerestore - Restore IPSW firmware at PATH to an iOS device

## SYNOPSIS

**idevicerestore** \[OPTIONS\] PATH

## DESCRIPTION

Restore firmware files to iOS devices while either erasing the device or  updating to preserve content and settings.

**PATH** can be a compressed .ipsw file or a directory containing all files extracted from an IPSW.

## OPTIONS

- **-i, --ecid ECID**

  Target specific device by its ECID, e.g. 0xaabb123456 (hex) or 1234567890 (decimal).

- **-u, --udid UDID**

  Target specific device by its device UDID.

  **NOTE**: only works with devices in normal mode.

- **-l, --latest**

  Use latest available firmware (with download on demand). Before performing any action it will interactively ask to select one of the currently signed firmware versions, unless **-y** has been given too.

  The PATH argument is ignored when using this option.

  **DO NOT USE** if you need to preserve the baseband/unlock!

  **USE WITH CARE** if you want to keep a jailbreakable firmware!

- **-e, --erase**

  Perform full restore instead of update, erasing all data

  **DO NOT USE** if you want to preserve user data on the device!

- **-y, --no-input**

  Non-interactive mode, do not ask for any input.

  **WARNING**: This will disable certain checks/prompts that are supposed to prevent DATA LOSS. **Use with caution**.

- **-n, --no-action**

  Do not perform any restore action. If combined with **-l** option the on-demand ipsw download is performed before exiting.

- **--ipsw-info**

  Print information about the IPSW at PATH and exit.

- **-h, --help**

  Prints usage information.

- **-C, --cache-path DIR**

  Use specified directory for caching extracted or other reused files.

- **-d, --debug**

  Enable communication debugging.

- **-v, --version**

  Prints version information.

## ADVANCED/EXPERIMENTAL OPTIONS

- **-c, --custom**

  Restore with a custom firmware (requires bootrom exploit)

- **-s, --server URL**

  Override the default signing server request URL. If the URL doesn't contain a path component, the default path **/TSS/controller?action=2** will be added.

- **-x, --exclude**

  Exclude nor/baseband upgrade.

  **NOTE**: This option only works with legacy devices and/or custom firmware.

- **-t, --shsh**

  Fetch TSS record and save to .shsh file, then exit.

- **-z, --no-restore**

  Do not restore and end after booting to the ramdisk.

- **-k, --keep-pers**

  Write personalized components to files for debugging.

- **-p, --pwn**

  Put device in pwned DFU mode and exit (limera1n devices only).

- **-P, --plain-progress**

  Print progress as plain step and progress

- **-R, --restore-mode**

  Allow restoring from Restore mode

- **-T, --ticket PATH**

  Use file at PATH to send as AP ticket

- **--variant VARIANT**

  Use given VARIANT to match the build identity to use, e.g. 'Customer Erase Install (IPSW)'

- **--ignore-errors**

  Try to continue the restore process after certain errors (like a failed baseband update).

  **WARNING**: This might render the device unable to boot or only partially functioning. **Use with caution**.

## AUTHORS

Martin Szulecki

Nikias Bassen

Joshua Hill

## ON THE WEB

https://libimobiledevice.org

https://github.com/libimobiledevice/idevicerestore
