> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/dolphin-emu/dolphin/llms.txt
> Use this file to discover all available pages before exploring further.

# extract - File Extraction

> Extract files and partitions from GameCube and Wii disc images

The `extract` command extracts files, directories, and partitions from GameCube and Wii disc images without needing to mount them.

## Usage

```bash theme={null}
dolphin-tool extract [options]
```

## Options

<ParamField path="-i FILE, --input=FILE" type="string" required>
  Path to the disc image file.

  ```bash theme={null}
  dolphin-tool extract -i game.iso -o ./output
  ```

  Supported formats:

  * ISO/GCM
  * GCZ
  * WIA
  * RVZ
  * WBFS

  **Note**: WAD and ELF/DOL files are not supported (no filesystem).
</ParamField>

<ParamField path="-o FOLDER, --output=FOLDER" type="string">
  Path to the destination folder for extracted files.

  ```bash theme={null}
  dolphin-tool extract -i game.iso -o ./extracted
  ```

  Required unless using `--list` without saving output.

  The output folder will be created if it doesn't exist.
</ParamField>

<ParamField path="-p PARTITION, --partition=PARTITION" type="string">
  Extract only a specific partition by name.

  ```bash theme={null}
  dolphin-tool extract -i game.iso -o ./output -p DATA
  ```

  Common partition names:

  * `DATA` - Main game data
  * `UPDATE` - System update partition
  * `CHANNEL` - Channel partition

  Partition names are case-insensitive.
</ParamField>

<ParamField path="-s PATH, --single=PATH" type="string">
  Extract only a specific file or directory.

  ```bash theme={null}
  dolphin-tool extract -i game.iso -o ./output -s /sys/main.dol
  ```

  Path format:

  * Must start with `/`
  * Case-sensitive
  * Use forward slashes `/` even on Windows

  Works with both files and directories.
</ParamField>

<ParamField path="-l, --list" type="flag">
  List all files in the volume/partition instead of extracting.

  ```bash theme={null}
  dolphin-tool extract -i game.iso --list
  ```

  When combined with `-s`, lists only the specified path.
  When combined with `-o`, saves the listing to the output file.
</ParamField>

<ParamField path="-q, --quiet" type="flag">
  Suppress progress messages (only show errors).

  ```bash theme={null}
  dolphin-tool extract -i game.iso -o ./output --quiet
  ```

  Useful for scripting and automation.
</ParamField>

<ParamField path="-g, --gameonly" type="flag">
  Extract only the DATA partition (game files).

  ```bash theme={null}
  dolphin-tool extract -i game.iso -o ./output --gameonly
  ```

  Equivalent to `-p DATA`. Skips UPDATE and CHANNEL partitions.
</ParamField>

## Output Structure

### Full Extraction (All Partitions)

```bash theme={null}
dolphin-tool extract -i game.iso -o ./output
```

Creates:

```
output/
├── DATA/
│   ├── files/
│   │   ├── sys/
│   │   │   ├── main.dol
│   │   │   └── ...
│   │   └── ...
│   ├── sys.img
│   └── ...
├── UPDATE/
│   └── ...
└── CHANNEL/
    └── ...
```

### Single Partition Extraction

```bash theme={null}
dolphin-tool extract -i game.iso -o ./output -p DATA
```

Creates:

```
output/
└── DATA/
    ├── files/
    │   └── ...
    └── sys.img
```

### Single File Extraction

```bash theme={null}
dolphin-tool extract -i game.iso -o ./output -s /sys/main.dol
```

Creates:

```
output/
└── DATA/
    └── files/
        └── sys/
            └── main.dol
```

## Examples

### Extract Entire Disc

Extract all partitions and files:

```bash theme={null}
dolphin-tool extract -i game.iso -o ./extracted
```

Progress output:

```
Extracting: /sys/main.dol | 5%
Extracting: /sys/bi2.bin | 10%
...
Finished Successfully!
```

### Extract Only Game Data

Skip UPDATE and CHANNEL partitions:

```bash theme={null}
dolphin-tool extract -i game.iso -o ./game-data --gameonly
```

or equivalently:

```bash theme={null}
dolphin-tool extract -i game.iso -o ./game-data -p DATA
```

### Extract Specific File

Extract just the main executable:

```bash theme={null}
dolphin-tool extract -i game.iso -o ./output -s /sys/main.dol
```

### Extract Specific Directory

Extract entire directory tree:

```bash theme={null}
dolphin-tool extract -i game.iso -o ./output -s /files/sound
```

### List Files Without Extracting

See what's in the disc:

```bash theme={null}
dolphin-tool extract -i game.iso --list
```

Output:

```
/// PARTITION: DATA </> ///
/sys/
/sys/main.dol
/sys/bi2.bin
/files/
/files/sound/
/files/sound/bgm.brstm
...
```

### List Specific Partition

```bash theme={null}
dolphin-tool extract -i game.iso --list -p DATA
```

### List Specific Directory

```bash theme={null}
dolphin-tool extract -i game.iso --list -s /files/sound
```

Output:

```
/// PARTITION: DATA </files/sound> ///
/files/sound/
/files/sound/bgm.brstm
/files/sound/sfx.brstm
```

### Save File List to File

```bash theme={null}
dolphin-tool extract -i game.iso --list -o filelist.txt
```

### Extract Quietly (For Scripts)

```bash theme={null}
dolphin-tool extract -i game.iso -o ./output --gameonly --quiet
```

Only errors will be printed.

### Extract from Compressed Image

```bash theme={null}
dolphin-tool extract -i game.rvz -o ./output --gameonly
```

Works with all supported formats (GCZ, WIA, RVZ, WBFS).

## Partition Types

### GameCube Discs

GameCube discs have no partitions. The entire filesystem is extracted directly:

```bash theme={null}
dolphin-tool extract -i gamecube.iso -o ./output
```

Creates:

```
output/
├── files/
│   └── ...
└── sys.img
```

### Wii Discs

Wii discs typically have multiple partitions:

#### DATA Partition

Main game data:

* Game executable (`main.dol`)
* Game files and assets
* Save data

```bash theme={null}
dolphin-tool extract -i wii.iso -o ./output -p DATA
```

#### UPDATE Partition

System update files (if present):

* System menu updates
* IOS updates

```bash theme={null}
dolphin-tool extract -i wii.iso -o ./output -p UPDATE
```

#### CHANNEL Partition

Installable channels (rare):

```bash theme={null}
dolphin-tool extract -i wii.iso -o ./output -p CHANNEL
```

## File Paths

Paths in disc images use Unix-style forward slashes:

```bash theme={null}
# Correct
-s /sys/main.dol
-s /files/sound/bgm.brstm

# Incorrect (will not work)
-s \sys\main.dol
-s sys/main.dol
```

Always:

* Start with `/`
* Use forward slashes `/`
* Match case exactly
* Use directory names as they appear in `--list`

## Use Cases

### Game Modding

Extract game files for modification:

```bash theme={null}
# Extract game data
dolphin-tool extract -i game.iso -o ./mod-source --gameonly

# Modify files...
# Then rebuild with external tools
```

### Asset Extraction

Extract specific game assets:

```bash theme={null}
# Extract all sounds
dolphin-tool extract -i game.iso -o ./sounds -s /files/sound

# Extract all textures
dolphin-tool extract -i game.iso -o ./textures -s /files/textures
```

### Executable Analysis

Extract the main executable for reverse engineering:

```bash theme={null}
dolphin-tool extract -i game.iso -o ./analysis -s /sys/main.dol
```

### File System Inspection

Explore disc contents:

```bash theme={null}
# List all files
dolphin-tool extract -i game.iso --list | less

# Save to file for searching
dolphin-tool extract -i game.iso --list -o files.txt
grep ".brstm" files.txt
```

## Scripting Examples

### Extract from Multiple Images

```bash theme={null}
#!/bin/bash

for iso in *.iso; do
  output="extracted/$(basename "$iso" .iso)"
  echo "Extracting $iso..."
  dolphin-tool extract -i "$iso" -o "$output" --gameonly --quiet
done
```

### Find and Extract Specific Files

```bash theme={null}
#!/bin/bash

# Find all .dol files
for iso in *.iso; do
  echo "=== $iso ==="
  dolphin-tool extract -i "$iso" --list | grep "\.dol$"
done
```

### Verify File Existence

```bash theme={null}
#!/bin/bash

IMAGE="game.iso"
FILE="/sys/main.dol"

if dolphin-tool extract -i "$IMAGE" --list | grep -q "^$FILE$"; then
  echo "File exists: $FILE"
  dolphin-tool extract -i "$IMAGE" -o ./output -s "$FILE" --quiet
else
  echo "File not found: $FILE"
fi
```

### Batch Asset Extraction

```bash theme={null}
#!/bin/bash

for iso in *.iso; do
  name=$(basename "$iso" .iso)
  
  # Extract sounds
  dolphin-tool extract -i "$iso" -o "assets/$name/sound" -s /files/sound --quiet
  
  # Extract models
  dolphin-tool extract -i "$iso" -o "assets/$name/models" -s /files/models --quiet
  
  echo "✓ Extracted assets from $iso"
done
```

## Error Messages

### "Error: No input image set"

Missing `-i` option:

```bash theme={null}
dolphin-tool extract -i game.iso -o ./output
```

### "Error: No output folder set"

Missing `-o` when not using `--list`, or using `--quiet` without `--output` when listing:

```bash theme={null}
dolphin-tool extract -i game.iso -o ./output
```

### "Error: Unable to open disc image"

Check:

* File exists and path is correct
* File is a valid disc image
* You have read permissions

### "Error: Unable to open volume"

File is not a valid GameCube/Wii disc image or is corrupted.

### "Error: Wii WADs are not supported"

WAD files have no filesystem. Cannot extract.

### "Error: \*.elf or \*.dol have no filesystem"

Executable files have no filesystem. Cannot extract.

### "Error: Found nothing to list"

The specified partition or file does not exist.

### "Error: No file/folder was extracted"

The specified file/folder was not found. Check:

* Path is correct (case-sensitive)
* Path starts with `/`
* File exists (use `--list` to verify)

### "Warning: --partition has a value even though this image doesn't have any partitions"

GameCube images don't have partitions. Remove `-p` flag.

### "Maybe you misspelled your specified partition?"

Partition name is incorrect. Use `--list` to see available partitions.

## Performance

Extraction speed depends on:

* **Storage speed** - SSD much faster than HDD
* **Image format** - ISO fastest, compressed formats slower
* **Extraction scope** - Single files very fast, full disc slower

Typical extraction times:

| Operation        | ISO     | RVZ      |
| ---------------- | ------- | -------- |
| List files       | \<1s    | \<1s     |
| Single file      | \<1s    | 1-5s     |
| Single directory | 5-30s   | 10-60s   |
| Full disc        | 1-3 min | 3-10 min |

*Times are approximate for typical games*

## Limitations

* **No WAD support** - Wii WAD files cannot be extracted
* **No ELF/DOL support** - Executable files have no filesystem
* **Read-only** - Cannot modify or rebuild images

## See Also

* [Header Command](/cli/dolphin-tool/header) - Inspect disc metadata
* [Verify Command](/cli/dolphin-tool/verify) - Verify integrity
* [DolphinTool Overview](/cli/dolphin-tool/overview) - Other utilities
