---
name: "wvunpack"
section: "1"
platform: "linux"
package: "wavpack"
version: "5.9.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/wvunpack"
---

# wvunpack(1)

decode wavpack encoded files

## NAME

**wvunpack** – decode wavpack encoded files

## SYNOPSIS

**wvunpack** \[**-options**\] \[**-o** *output*\] *file ...*

## DESCRIPTION

**wvunpack** decodes WavPack files back to their original uncompressed form. Unless overridden with the **-o** switch, the output filename will be the source filename with the original file extension replacing WavPack's “.wv” extension. It is also possible to output raw audio without headers using the **--raw** option. Multiple WavPack input files may be specified resulting in multiple output files, and in that case **-o** may be used to specify an alternate target directory. A filename of “-” specifies *stdin* or *stdout*. It is also possible to export to one of the alternate file formats below, but in that case the information in the original headers and trailers will be lost, even if the alternate format is the same as the source format. WavPack files are generally created with the **wavpack** program.

If multiple input files are specified with piped output (“-o -”), then the output from all the files is concatenated. This can be utilized as an easy way to concatenate WavPack files (assuming the output is subsequently piped into **wavpack**), but only makes sense with raw output (**--raw**) to avoid headers being interleaved with the audio data.

On multicore machines **wvunpack** will attempt to use multiple threads to speed up the operation, often by 3x or more. To force single-threaded operation use the **--no-threads** option, or use the **--threads** option to fine-tune the number of threads utilized.

### OUTPUT FORMATS

- Microsoft RIFF (“.wav”), force with **--wav**, creates RF64 if \> 4 GB

- Sony Wave64 (“.w64”), force with **--w64**

- Apple AIFF (“.aif”), force with **--aif** or **--aif-le**

- Apple Core Audio (“.caf”), force with **--caf-be** or **--caf-le**

- Raw PCM or DSD (“.raw”), force with **-r** or **--raw**

- Philips DSDIFF (“.dff”), force with **--dsdiff** or **--dff**

- Sony DSD Stream (“.dsf”), force with **--dsf**

### OPTIONS

- **--aif**, **--aif-le**

  force output to Apple AIFF (or AIFF-C/sowt), extension “.aif”

- **-b**

  blindly decode all stream blocks and ignore length info

- **-c**

  do not decode audio but instead just extract cuesheet stored in APEv2 tag to *stdout* (equivalent to **-x** “cuesheet”)

- **-cc**

  extract cuesheet stored in APEv2 tag to *source-name.cue* file in same directory as decoded audio file (equivalent to **-xx** “cuesheet=%a.cue”)

- **--caf-be**, **--caf-le**

  force output to big-endian or little-endian Core Audio, extension “.caf”

- **-d**

  delete source file if successful; **use** **with** **caution!**

- **--dff**, **--dsdiff**

  force output to Philips DSDIFF, DSD audio source only, extension “.dff”

- **--dsf**

  force output to Sony DSF, DSD audio source only, extension “.dsf”

- **-f**

  do not decode audio but simply display summary information about WavPack file to *stdout* in a machine-parsable format (see *doc/wavpack\_doc.html* or *cli/wvunpack.c* for details)

- **--help**

  display extended help

- **-i**

  ignore .wvc file (forces hybrid lossy decompression)

- **-m**

  calculate and display MD5 signature; verify if lossless

- **-n**

  no audio decoding (use with **-xx** to extract tags only)

- **--no-overwrite**

  Never overwrite, nor ask to overwrite, an existing file. This is handy for resuming a cancelled batch operation and obviously cannot be mixed with the **-y** option.

- **--normalize-floats**

  normalize float audio to +/-1.0 if it isn't normalized already (rarely the case, but alters audio and fails MD5)

- **--no-threads**

  force single-threaded operation, equivalent to **--threads=1**

- **--no-utf8-convert**

  leave extracted text tags in UTF-8 encoding during extraction or display

- **-o** *OUTFILE*

  specify output filename (only if single source file) or target directory (must already exist)

- **-q**

  quiet (keep console output to a minimum)

- **-r**, **--raw**

  force raw PCM or DSD audio decode by skipping headers & trailers, results in *source-name.raw*

- **--raw-pcm**

  similar to **-r** and **--raw** above except that DSD audio will be converted to 24-bit PCM (8x decimation)

- **-s**

  do not decode audio but simply display summary information about WavPack file to *stdout*

- **-ss**

  do not decode audio but simply display summary and tag information about WavPack file to *stdout*

- **--skip=\[-\]\[***sample*\|*hh*:*mm*:*ss.ss*\]

  start decoding at specified sample or time index, specifying a ‘-’ causes sample/time to be relative to EOF

- **-t**

  copy input file's time stamp to output file(s)

- **--threads=***n*

  Enable (or disable) multithreaded operation with *n=1* (no threading) to *n=12* (max threads). Significantly improves performance of all modes, including verify. Omitting the parameter will select an optimum number of threads.

- **--until=\[+\|-\]\[***sample*\|*hh*:*mm*:*ss.ss*\]

  stop decoding at specified sample or time index, specifying a ‘+’ causes sample/time to be relative to **--skip** point, specifying a ‘-’ causes sample/time to be relative to EOF

- **-v**

  verify source data only (no output file created)

- **-vv**

  quick verify (no output, version 5+ files only)

- **--version**

  write program version to *stdout*

- **-w**, **--wav**

  force output to Microsoft RIFF/RF64, extension “.wav”

- **--w64**

  force output to Sony Wave64, extension “.w64”

- **-x** “*Field*”

  do not decode audio but instead just extract the specified tag field to *stdout*

- **-xx** “*Field*\[=*file*\]”

  extract the specified tag field into a named file in the same directory as the decoded audio file; optional filename specification may contain ‘%a’ which is replaced with the audio file base name, ‘%t’ replaced with the tag field name (note: comes from data for binary tags) and ‘%e’ replaced with the extension from the binary tag source file (or “txt” for text tag).

- **-y**

  yes to overwrite warning; **use** **with** **caution!**

- **-z\[***n*\]

  don't set (n = 0 or omitted) or set (n = 1) console title to indicate progress (leaves "WvUnpack Completed")

## SEE ALSO

[wavpack(1)](/wavpack/1.md), [wvgain(1)](/wvgain/1.md), [wvtag(1)](/wvtag/1.md), **www.wavpack.com**

## AUTHORS

David Bryant ⟨*david@wavpack.com*⟩ Sebastian Dröge ⟨*slomo@debian.org*⟩ Jan Starý ⟨*hans@stare.cz*⟩
