{
  "schemaVersion": 1,
  "contentVersion": "ca42e61ede0a24f789d7287a0001244ad22f4abf",
  "id": "docs/codecs/audio/wavpack",
  "collection": "docs",
  "title": "WavPack",
  "description": "WavPack is a lossless audio codec with a unique hybrid mode and float and DSD support; this page covers when it beats FLAC, the wavpack options, and its compatibility limits.",
  "canonicalUrl": "https://encode.wiki/codecs/audio/wavpack/",
  "apiUrl": "https://encode.wiki/api/v1/documents/docs/codecs/audio/wavpack.json",
  "markdownUrl": "https://encode.wiki/api/v1/markdown/docs/codecs/audio/wavpack.md",
  "status": "current",
  "tags": [
    "migrated"
  ],
  "license": "CC BY-SA 4.0",
  "dates": {
    "lastVerified": "2026-10-08T00:00:00.000Z"
  },
  "authors": [],
  "sources": [
    {
      "title": "WavPack project",
      "url": "https://www.wavpack.com/",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "WavPack command-line documentation",
      "url": "https://www.wavpack.com/wavpack_doc.html",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "WavPack 5.9.0 source",
      "url": "https://github.com/dbry/WavPack/tree/5.9.0",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "FFmpeg codecs documentation — wavpack",
      "url": "https://ffmpeg.org/ffmpeg-codecs.html#wavpack",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    }
  ],
  "provenance": {
    "originUrl": "https://github.com/av1-community-contributors/codec-wiki/blob/37c3317fd058b23c71a87679bed5619a98f77752/docs/audio/WavPack.mdx",
    "originCommit": "37c3317fd058b23c71a87679bed5619a98f77752",
    "migratedAt": "2026-08-21T00:00:00.000Z",
    "modified": true,
    "originPath": "docs/audio/WavPack.mdx"
  },
  "headings": [
    {
      "depth": 2,
      "text": "Encoding",
      "anchor": "encoding"
    },
    {
      "depth": 2,
      "text": "Hybrid mode",
      "anchor": "hybrid-mode"
    },
    {
      "depth": 2,
      "text": "FFmpeg",
      "anchor": "ffmpeg"
    },
    {
      "depth": 2,
      "text": "Compatibility",
      "anchor": "compatibility"
    }
  ],
  "sections": [
    {
      "id": "_preamble",
      "title": "Page introduction",
      "depth": 0,
      "canonicalUrl": "https://encode.wiki/codecs/audio/wavpack/",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/wavpack/_preamble.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/wavpack/_preamble.md",
      "checksum": "3d154f2d46ab8b9d42a75e2897027ca3cf32c64f805a4ae31380ce01fff165cf",
      "bytes": 524
    },
    {
      "id": "encoding",
      "title": "Encoding",
      "depth": 2,
      "anchor": "encoding",
      "canonicalUrl": "https://encode.wiki/codecs/audio/wavpack/#encoding",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/wavpack/encoding.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/wavpack/encoding.md",
      "checksum": "45aa335225467587e970101af0aa24f297255e2c94eafa50eda6038c5f6b174b",
      "bytes": 1046
    },
    {
      "id": "hybrid-mode",
      "title": "Hybrid mode",
      "depth": 2,
      "anchor": "hybrid-mode",
      "canonicalUrl": "https://encode.wiki/codecs/audio/wavpack/#hybrid-mode",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/wavpack/hybrid-mode.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/wavpack/hybrid-mode.md",
      "checksum": "a8edb4fa51910da83bdefaa2fc8ec03339b4b5a71fe36261381a22e7dd993b17",
      "bytes": 993
    },
    {
      "id": "ffmpeg",
      "title": "FFmpeg",
      "depth": 2,
      "anchor": "ffmpeg",
      "canonicalUrl": "https://encode.wiki/codecs/audio/wavpack/#ffmpeg",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/wavpack/ffmpeg.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/wavpack/ffmpeg.md",
      "checksum": "3bcd870fe751aae4c206327776fa65c656d26816574107f0e2a5dc7d58f4d141",
      "bytes": 380
    },
    {
      "id": "compatibility",
      "title": "Compatibility",
      "depth": 2,
      "anchor": "compatibility",
      "canonicalUrl": "https://encode.wiki/codecs/audio/wavpack/#compatibility",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/wavpack/compatibility.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/wavpack/compatibility.md",
      "checksum": "87e14090e255322c3b7aa7532a33c6a0be96f048aa23fb2385b84c30df200097",
      "bytes": 444
    }
  ],
  "outboundReferences": [
    "/codecs/audio/aac/",
    "/codecs/audio/flac/",
    "/codecs/audio/opus/",
    "https://www.wavpack.com/wavpack_doc.html"
  ],
  "checksum": "a76ad99aab04332737ab3e82170dba9a5208a0284201fa76d83ef5cbd891fe01",
  "contentFormat": "markdown",
  "markdown": "WavPack is an open lossless audio codec by David Bryant, dating from 1998. It compresses about as well as [FLAC](/codecs/audio/flac/), with slower high-compression modes, handles integer PCM, 32-bit float and DSD, supports a very large number of channels, and has a hybrid mode that stores a lossy file plus a separate correction file. Player and hardware support is much narrower than FLAC's, which is why most people use FLAC. Choose WavPack when you need floating-point or DSD stored losslessly, or want the hybrid mode.\n\n## Encoding\n\nDefaults are lossless, so for archiving just run it:\n\n```sh\nwavpack input.wav -o output.wv\nwvunpack output.wv -o restored.wav\n```\n\nFor smaller files at the cost of speed:\n\n```sh\nwavpack -hh -x4 -m input.wav -o output.wv\n```\n\n| Option | Effect |\n| --- | --- |\n| `-f` | Fast: quicker encode and decode, larger files. |\n| `-h` / `-hh` | High and very high: better compression, slower to encode and decode. |\n| `-x0` … `-x6` | Extra encoder-side search (default 1). Only costs encoding time. 4–6 build custom filters and are very slow. |\n| `-m` | Store an MD5 of the audio so `wvunpack -v` can check integrity. |\n| `-v` | Verify the file right after encoding (not possible with pipes). |\n| `--threads=n` | Up to 12 threads; on by default on multicore machines, but not used in hybrid mode except for multichannel files. |\n\n`-h` and `-x` change effort and size, not fidelity. DSD input is always lossless and ignores `-x` and the hybrid options. Check the [WavPack manual](https://www.wavpack.com/wavpack_doc.html) for the full list.\n\n## Hybrid mode\n\nHybrid mode writes a lossy `.wv` file. With `-c` it also writes a `.wvc` correction file; playing both gives the exact original, and the `.wv` alone plays as a lossy file.\n\n```sh\n# lossy .wv only, targeting 256 kbit/s\nwavpack -b256 input.wav -o lossy.wv\n\n# lossy .wv plus a .wvc correction file that makes it lossless, at 4 bits per sample\nwavpack -b4 -c input.wav -o hybrid.wv\n```\n\n`-b` takes either a bitrate in kbit/s (24–9600) or, below 24, bits per sample (2.0–23.9). So `-b4` is four bits per sample, not 4 kbit/s. The floor of 2 bits per sample is about 200 kbit/s for CD stereo, which is high. WavPack's lossy mode has no psychoacoustic model, so [Opus](/codecs/audio/opus/) or [AAC](/codecs/audio/aac/) sound better at far lower rates. Hybrid is mainly useful if you want a portable lossy copy and a lossless archive from a single encode. `-cc` squeezes the pair further, at some cost to lossy quality and decode speed.\n\nAlways keep each `.wvc` next to its `.wv`.\n\n## FFmpeg\n\nFFmpeg has its own WavPack encoder and decoder:\n\n```sh\nffmpeg -i input.flac -c:a wavpack output.wv\n```\n\nThe encoder does lossless only, with no lossy or hybrid mode, and `-compression_level` (0–8) trades speed for size. The decoder ignores `.wvc` files, so a hybrid file plays as the lossy version. Use the native `wavpack` and `wvunpack` for anything hybrid or DSD.\n\n## Compatibility\n\n- Foobar2000, mpv, VLC and FFmpeg-based players handle ordinary WavPack. Browsers do not play it natively, and few hardware players do.\n- Many players ignore hybrid correction files, DSD, or float WavPack.\n- Matroska can hold lossless WavPack.\n- Tagging uses APEv2 (or ID3v1); `wvtag` edits tags and `wvgain` calculates ReplayGain.\n\nFor web or general distribution, keep the WavPack archive and deliver FLAC or a lossy codec.\n"
}
