Initializing... drag & drop files here
Supports: OGV
An .ogv file is Xiph.Org's Ogg container carrying Theora video, normally with a Vorbis audio track. A PPM is the opposite of a video file in every way that matters: one still frame, no compression, no metadata, and a header you can read with your eyes. Converting between them decodes the frame you choose and writes its pixels straight to disk in the Netpbm portable pixmap format.
People reach for PPM for one of two reasons — a program in an image-processing or scientific pipeline reads Netpbm and nothing else, or they want a reference file whose bytes are trivially predictable. Neither is a reason to use it for sharing a picture; a PPM of a 720 x 576 frame is over a megabyte where a PNG of the same frame is a fraction of that.
.ogv onto the page or click "Add Files". Several Ogg videos can be queued and they share the same frame, bit-depth and resolution settings.0, which is literally the first frame. Type the moment you want — decimals such as 4.25 are accepted — or switch to "Multiple Screenshots" and choose a Capture Rate to sample across the clip, which writes one PPM per captured frame..ppm. Files are uploaded over an encrypted connection, processed on our servers and deleted automatically after a few hours — no sign-up, no watermark, never shared or made public.PPM stores each colour sample as a plain number, and the header's maxval field decides how many bytes each one occupies: samples up to 255 take one byte, samples above that take two. That rule is what makes the three entries behave the way they do. Converting the same decoded 720 x 576 Theora frame at each setting produced:
| Bit Depth | Header written | File size | Distinct colours in the result |
|---|---|---|---|
| 8-bit (Recommended) | P6 720 576 255 |
1,244,175 bytes | 23,340 |
| 16-bit (High Precision) | P6 720 576 65535 |
2,488,337 bytes | 23,340 |
| 1-bit (Black & White) | P6 720 576 1 |
1,244,173 bytes | 8 |
Three practical conclusions follow.
16-bit doubles the file and adds nothing from a video source. Theora decodes to 8 bits per channel, so promoting to 16 bits stores the same values with a zero byte beside each one — identical colour count, twice the bytes. It is only worth choosing if a downstream tool refuses to read an 8-bit pixmap.
1-bit is not black and white, and it saves no space. Because maxval is 1, each of the three channels can only be 0 or 1 — which is eight colours, not two — and each sample still occupies a full byte, so the file is the same size as the 8-bit version to within the two characters saved on the shorter maxval string. It is a heavy posterisation effect, not a compression setting. If you want a genuinely bilevel image, this is not the control for it.
8-bit is the one to leave alone. It matches what the decoder produced and gives the smallest correct file.
At 8-bit there is no compression and no per-pixel overhead: the file is exactly width x height x 3 bytes of pixel data plus a short ASCII header (fifteen bytes for the 720 x 576 example above — the magic number, dimensions, maxval and their separators). Picture content is irrelevant, so a black frame and a busy one weigh identically.
| Frame size | 8-bit PPM pixel data | 16-bit PPM pixel data |
|---|---|---|
| 320 x 240 | 230,400 bytes | 460,800 bytes |
| 640 x 480 | 921,600 bytes | 1,843,200 bytes |
| 720 x 576 | 1,244,160 bytes | 2,488,320 bytes |
| 1280 x 720 | 2,764,800 bytes | 5,529,600 bytes |
| 1920 x 1080 | 6,220,800 bytes | 12,441,600 bytes |
That is also why grabbing a series with "Multiple Screenshots" needs care: one still per second from a two-minute 720p clip is 120 files at roughly 2.8 MB each.
Binary — the file starts with the magic number P6, which is the binary portable pixmap. The ASCII variant P3 writes each sample as decimal text and is several times larger again; it is not produced here. After the header the raster follows immediately, in row order, red-green-blue per pixel, with no padding between rows.
None at the default. The frame is decoded from the Theora stream and its pixel values are written out verbatim at 8-bit depth, so the PPM is an exact record of what the decoder produced. What it cannot undo is the compression Theora already applied when the file was made — a still exposes those artefacts rather than adding new ones. The only setting that damages the picture is 1-bit, which collapses it to eight colours.
Because Netpbm formats predate the web and most consumer viewers never learned them. GIMP, ImageMagick, IrfanView, XnView, Photoshop and essentially every scientific imaging package read PPM without trouble; Windows Photos, macOS Preview and web browsers generally do not. If the file needs to be viewable rather than processed, take the frame as OGV to PNG instead, which is lossless and opens everywhere.
No, and it cannot. The PPM header holds a magic number, width, height and maxval — that is the entire specification. There is no field for a timestamp, a colour profile, an author, or the Vorbis comments the Ogg container was carrying. If you want a lossless still in a format that at least has somewhere to put such things, OGV to TIFF is the closer equivalent — but set its Compression Type to LZW, because that page's default is JPEG, which is lossy.
No. A PPM is a still image with no audio support of any kind, so the Vorbis track is discarded. Extract it separately if you need it, or keep the original .ogv.
Theora support has been withdrawn across the board. Chrome disabled Theora by default in version 120 and Chromium removed the decoder in 123; Firefox disabled it by default in version 126; Safari never shipped it at all. The Theora bitstream itself has been frozen since June 2004 — the reference library is still maintained, with 1.2.0 released in March 2025, but browsers moved to VP9 and AV1 for royalty-free video. Decoding here happens on our servers with a build that still carries the Theora decoder, which is why a file your browser refuses to play still yields a frame.
Switch Frame Selection to "Multiple Screenshots" and pick a Capture Rate. The entries are intervals rather than frame rates: "1 second per frame" writes one still per second of runtime, and the slowest option writes one every ten seconds. Given the sizes above, start at a slow rate on anything longer than a few seconds. When a job produces more than one file, a download-all option appears next to the individual downloads.
No — that is interlace combing carried over from the source, and there is no de-interlacing step anywhere in this pipeline. It appears when the original material was interlaced, which is common for anything captured from broadcast or transferred from tape before being encoded to Theora. Pick a frame from a static shot, or de-interlace the still afterwards in an image editor.
Time (seconds) is still at 0, and most clips open on black or a fade. Type a timestamp from inside the content. If you do not know where to look, sample the clip with "Multiple Screenshots" at ten seconds per frame first, then re-run with "Specific Frame" once you have found the moment.
It is uploaded over an encrypted connection, decoded on our servers and deleted automatically after a few hours, along with every PPM the job produced. There is no sign-up, no watermark and files are never shared or made public. If you only want one frame from a long recording, cutting it down first with Video Cutter — which accepts .ogv directly — is much faster than uploading the whole file.