{
  "schemaVersion": 1,
  "contentVersion": "ca42e61ede0a24f789d7287a0001244ad22f4abf",
  "id": "docs/codecs/audio/vorbis",
  "collection": "docs",
  "title": "Vorbis",
  "description": "Vorbis is Xiph's older lossy audio codec; Opus replaces it for new work, but it remains common in games, Ogg music collections and WebM.",
  "canonicalUrl": "https://encode.wiki/codecs/audio/vorbis/",
  "apiUrl": "https://encode.wiki/api/v1/documents/docs/codecs/audio/vorbis.json",
  "markdownUrl": "https://encode.wiki/api/v1/markdown/docs/codecs/audio/vorbis.md",
  "status": "current",
  "tags": [
    "migrated"
  ],
  "license": "CC BY-SA 4.0",
  "dates": {
    "lastVerified": "2026-10-08T00:00:00.000Z"
  },
  "authors": [],
  "sources": [
    {
      "title": "Vorbis project",
      "url": "https://xiph.org/vorbis/",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "Vorbis I specification",
      "url": "https://www.xiph.org/vorbis/doc/Vorbis_I_spec.html",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "libvorbis tags",
      "url": "https://github.com/xiph/vorbis/tags",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "FFmpeg codecs documentation — libvorbis",
      "url": "https://ffmpeg.org/ffmpeg-codecs.html#libvorbis",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "WebKit features in Safari 18.4",
      "url": "https://webkit.org/blog/16574/webkit-features-in-safari-18-4/",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    }
  ],
  "provenance": {
    "originUrl": "https://github.com/av1-community-contributors/codec-wiki/blob/37c3317fd058b23c71a87679bed5619a98f77752/docs/audio/Vorbis.mdx",
    "originCommit": "37c3317fd058b23c71a87679bed5619a98f77752",
    "migratedAt": "2026-08-21T00:00:00.000Z",
    "modified": true,
    "originPath": "docs/audio/Vorbis.mdx"
  },
  "headings": [
    {
      "depth": 2,
      "text": "Encoding",
      "anchor": "encoding"
    },
    {
      "depth": 3,
      "text": "Other options",
      "anchor": "other-options"
    },
    {
      "depth": 2,
      "text": "Compatibility",
      "anchor": "compatibility"
    },
    {
      "depth": 2,
      "text": "Pitfalls",
      "anchor": "pitfalls"
    }
  ],
  "sections": [
    {
      "id": "_preamble",
      "title": "Page introduction",
      "depth": 0,
      "canonicalUrl": "https://encode.wiki/codecs/audio/vorbis/",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/vorbis/_preamble.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/vorbis/_preamble.md",
      "checksum": "41cec3e37abc22f6b8f86351a34b79ce6f8de92d49db96b7df86b44d38e77c94",
      "bytes": 583
    },
    {
      "id": "encoding",
      "title": "Encoding",
      "depth": 2,
      "anchor": "encoding",
      "canonicalUrl": "https://encode.wiki/codecs/audio/vorbis/#encoding",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/vorbis/encoding.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/vorbis/encoding.md",
      "checksum": "f4d6d5831a837d665c531c39d0fe3b38ce0775b5c16e87b854d4684f1e381f7d",
      "bytes": 958
    },
    {
      "id": "other-options",
      "title": "Other options",
      "depth": 3,
      "anchor": "other-options",
      "canonicalUrl": "https://encode.wiki/codecs/audio/vorbis/#other-options",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/vorbis/other-options.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/vorbis/other-options.md",
      "checksum": "ea820b461301885597107cc371c77a15d09835a3906cc50cf9bcab0ac91a62ef",
      "bytes": 301
    },
    {
      "id": "compatibility",
      "title": "Compatibility",
      "depth": 2,
      "anchor": "compatibility",
      "canonicalUrl": "https://encode.wiki/codecs/audio/vorbis/#compatibility",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/vorbis/compatibility.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/vorbis/compatibility.md",
      "checksum": "45d16f985e005893b5c1eeb60fd1663f0a2dfc8f4baccaaa9837b38b129ecfa1",
      "bytes": 440
    },
    {
      "id": "pitfalls",
      "title": "Pitfalls",
      "depth": 2,
      "anchor": "pitfalls",
      "canonicalUrl": "https://encode.wiki/codecs/audio/vorbis/#pitfalls",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/vorbis/pitfalls.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/audio/vorbis/pitfalls.md",
      "checksum": "98eed40853fd4e66aa97d4ceb20e2a5464259b82bbc7749bb7f0bd102f8cb27c",
      "bytes": 296
    }
  ],
  "outboundReferences": [
    "/codecs/audio/opus/"
  ],
  "checksum": "f1c6354ccbbe1b367b6bf021b6adcd9be00ce055bc3cf2c598c8bcdeba7abb6e",
  "contentFormat": "markdown",
  "markdown": "Vorbis is a free lossy audio codec from Xiph.Org, finalised in 2002 (Vorbis I) as an open alternative to MP3. It was widely used in games (Minecraft's sounds and music are Ogg Vorbis) and in Ogg and WebM media. [Opus](/codecs/audio/opus/) is its successor and is more efficient, especially at low bitrates, so choose Opus for anything new. Use Vorbis when a game engine, device or existing library needs it.\n\nVorbis is almost always found in Ogg (`.ogg`, `.oga`), WebM or Matroska. The `.ogg` extension alone does not tell you the codec, since Ogg also carries Opus, FLAC and Speex.\n\n## Encoding\n\nUse libvorbis through FFmpeg:\n\n```sh\nffmpeg -i input.flac -c:a libvorbis -q:a 5 output.ogg\n```\n\nOr `oggenc` from vorbis-tools, which uses the same encoder:\n\n```sh\noggenc -q 5 input.wav -o output.ogg\n```\n\n`-q` is a VBR quality scale from -1 to 10 (FFmpeg's default is 3). The nominal stereo bitrates are about 112 kbit/s at 3, 160 at 5 and 224 at 7, but the actual rate varies with the content. Quality 5 is a good starting point for music; go higher only if you can hear a difference.\n\nDon't use FFmpeg's built-in `vorbis` encoder. It is flagged experimental and its quality is below libvorbis. Make sure your FFmpeg has `--enable-libvorbis`.\n\n### Other options\n\n| Option | Effect |\n| --- | --- |\n| `-b:a 128k` | Managed (ABR-like) bitrate instead of quality VBR. |\n| `-cutoff` | Lowpass frequency in Hz. Off by default (0). |\n| `-iblock` | Impulse block bias, -15 to 0 (default 0). More negative keeps transients crisper at a higher bitrate. |\n\n## Compatibility\n\nVorbis in Ogg or WebM plays in Chrome, Edge and Firefox. Safari 18.4 added Ogg Vorbis and Ogg Opus on macOS 15.4, iOS/iPadOS 18.4 and visionOS 2.4; older versions do not play Ogg. Hardware players are less consistent than for AAC or MP3.\n\nVorbis supports 1–255 channels. It defines channel order for up to eight, so multichannel files are portable only up to 7.1; check the order in your player for anything above that.\n\n## Pitfalls\n\n- **Don't transcode Vorbis to Opus.** Both are lossy; encode from the lossless master.\n- **Keep all three headers** (identification, comment, setup) if you ever repack the raw packets.\n- **Chained Ogg streams** (several files joined end to end) confuse some players and seek poorly.\n"
}
