{
  "schemaVersion": 1,
  "contentVersion": "ca42e61ede0a24f789d7287a0001244ad22f4abf",
  "id": "docs/codecs/video/theora",
  "collection": "docs",
  "title": "Theora",
  "description": "Theora is a legacy Xiph.Org lossy video codec derived from VP3, normally stored in Ogg, that current browsers no longer play.",
  "canonicalUrl": "https://encode.wiki/codecs/video/theora/",
  "apiUrl": "https://encode.wiki/api/v1/documents/docs/codecs/video/theora.json",
  "markdownUrl": "https://encode.wiki/api/v1/markdown/docs/codecs/video/theora.md",
  "status": "current",
  "tags": [
    "migrated",
    "video"
  ],
  "license": "CC BY-SA 4.0",
  "dates": {
    "lastVerified": "2026-10-08T00:00:00.000Z"
  },
  "authors": [],
  "sources": [
    {
      "title": "Theora specification",
      "url": "https://www.theora.org/doc/Theora.pdf",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "Theora news (bitstream history, 1.0 and 1.1 releases)",
      "url": "https://www.theora.org/news/",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "Xiph libtheora releases",
      "url": "https://ftp.osuosl.org/pub/xiph/releases/theora/",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "MDN video codec guide",
      "url": "https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Formats/Video_codecs",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "FFmpeg libtheora wrapper",
      "url": "https://ffmpeg.org/ffmpeg-codecs.html#libtheora",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    }
  ],
  "provenance": {
    "originUrl": "https://github.com/av1-community-contributors/codec-wiki/blob/37c3317fd058b23c71a87679bed5619a98f77752/docs/video/Theora.mdx",
    "originCommit": "37c3317fd058b23c71a87679bed5619a98f77752",
    "migratedAt": "2026-08-21T00:00:00.000Z",
    "modified": true,
    "originPath": "docs/video/Theora.mdx"
  },
  "headings": [
    {
      "depth": 2,
      "text": "Encode with FFmpeg",
      "anchor": "encode-with-ffmpeg"
    },
    {
      "depth": 2,
      "text": "Support",
      "anchor": "support"
    }
  ],
  "sections": [
    {
      "id": "_preamble",
      "title": "Page introduction",
      "depth": 0,
      "canonicalUrl": "https://encode.wiki/codecs/video/theora/",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/theora/_preamble.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/theora/_preamble.md",
      "checksum": "67867d03fa286307db0e38e6ea7db53feb0c6637b9c2e8f8b46e53933e6b0894",
      "bytes": 486
    },
    {
      "id": "encode-with-ffmpeg",
      "title": "Encode with FFmpeg",
      "depth": 2,
      "anchor": "encode-with-ffmpeg",
      "canonicalUrl": "https://encode.wiki/codecs/video/theora/#encode-with-ffmpeg",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/theora/encode-with-ffmpeg.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/theora/encode-with-ffmpeg.md",
      "checksum": "71802f03eedcb7cd0d37d4a8b63b35ec63984026027ca600b9c9b809d54c4662",
      "bytes": 454
    },
    {
      "id": "support",
      "title": "Support",
      "depth": 2,
      "anchor": "support",
      "canonicalUrl": "https://encode.wiki/codecs/video/theora/#support",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/theora/support.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/theora/support.md",
      "checksum": "d37ef46ea343364da3c04464438fd4557071afb6764bb81214ca533b8420d43c",
      "bytes": 268
    }
  ],
  "outboundReferences": [
    "/reference/video-codec-support/"
  ],
  "checksum": "aa78d7fb70f60a435d5507505da9bb475e75e0733d5231fb3c3979af83076e92",
  "contentFormat": "markdown",
  "markdown": "Theora is a legacy lossy video codec from Xiph.Org, derived from On2's VP3. The bitstream was published in 2004 and libtheora 1.0 followed in 2008. It is normally stored in Ogg (`.ogv`) with Vorbis audio, and was the royalty-free web video option before WebM. Today you meet it in old content and some free-software tooling; use AV1, VP9 or AVC for anything new.\n\nIt is 8-bit Y'CbCr only, in 4:2:0, 4:2:2 or 4:4:4, with intra and inter frames. There is no HDR, alpha or high bit depth.\n\n## Encode with FFmpeg\n\nFFmpeg decodes Theora natively. Encoding needs a build with libtheora (and libvorbis for audio):\n\n```sh\nffmpeg -i input.mkv -c:v libtheora -q:v 7 -c:a libvorbis -q:a 4 output.ogv\n```\n\n`-q:v` runs from 0 to 10 and higher is better. Without `-q:v` or `-b:v`, FFmpeg's generic 200 kb/s default applies, which looks poor at most resolutions. Stick to 4:2:0 for playback compatibility; the encoder also accepts `yuv422p` and `yuv444p`.\n\n## Support\n\n- libtheora 1.2.0 (March 2025) is the current library release.\n- Browsers have dropped it: MDN lists Theora support only up to Chrome 121, Firefox 126 and Edge 121, and Safari never supported it. See [video codec support](/reference/video-codec-support/).\n"
}
