# Theora

Canonical URL: https://encode.wiki/codecs/video/theora/
Content version: ca42e61ede0a24f789d7287a0001244ad22f4abf
Status: current
License: CC BY-SA 4.0
Checksum (SHA-256): aa78d7fb70f60a435d5507505da9bb475e75e0733d5231fb3c3979af83076e92

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.

It 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.

## Encode with FFmpeg

FFmpeg decodes Theora natively. Encoding needs a build with libtheora (and libvorbis for audio):

```sh
ffmpeg -i input.mkv -c:v libtheora -q:v 7 -c:a libvorbis -q:a 4 output.ogv
```

`-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`.

## Support

- libtheora 1.2.0 (March 2025) is the current library release.
- 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/).
