Initializing... drag & drop files here
Supports: ASF
This tool decodes one frame out of an ASF (Windows Media) video and writes it as a Windows bitmap. The part worth understanding before you click Convert is that "BMP" is not one thing. The Quality Preset dropdown on this page does not adjust a compression percentage — BMP has no such control — it picks between three genuinely different bitmap encodings, with different bit depths, different palettes and different header versions. Choosing the wrong one is how people end up with a 460 KB file for a 640 × 360 frame, or with visible dithering on a photograph.
.asf onto the page or click "+ Add Files". Several clips can be queued and share the same settings. 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.0 — the opening frame. Type any timestamp, decimals included, to grab a different moment. "Multiple Screenshots" instead takes a run of frames at a capture rate you choose, from ten a second down to one every ten seconds.We measured all three on the same 640 × 360 frame. The source frame as a lossless PNG was 57,633 bytes, for comparison:
| Preset | Bits per pixel | Compression | Header written | Colours in the result | Size of our test frame |
|---|---|---|---|---|---|
| High | 16, in RGB 555 layout | None (BI_RGB) | 40-byte BITMAPINFOHEADER | 2,857 distinct, from a 32,768-colour space | 460,854 bytes |
| Medium | 8, palette | Run-length encoded (BI_RLE8) | 40-byte BITMAPINFOHEADER, classic BMP3 form | 227 distinct, 256-colour palette, Floyd–Steinberg dithered | 57,132 bytes |
| Low | 8, palette | Run-length encoded (BI_RLE8) | 124-byte BITMAPV5HEADER | 86 distinct, Floyd–Steinberg dithered | 39,602 bytes |
High is the only one that is not palette-reduced, and its size is entirely predictable: width × height × 2 bytes plus a 54-byte header, no matter what the picture contains. Medium and Low both quantise to a palette and then run-length encode, so their size depends on how flat the image is — a screen capture compresses well, a photograph much less so. Low additionally writes the newer 124-byte header, which every modern reader handles but a few very old embedded viewers do not.
Practically, that gives you three clear choices. Pick High when the receiving software wants a plain framebuffer and does not care about size. Pick Medium when you want something close to the size of an ordinary image file while keeping a conventional BMP3 header — on our test frame it landed within a kilobyte of the source PNG. Pick Low only when the last few kilobytes matter more than the picture does.
| Property | ASF (.asf) |
BMP (.bmp) |
|---|---|---|
| Kind of thing | Streaming video container | Uncompressed or RLE raster image |
| Origin | Microsoft Advanced Systems Format, publicly released 26 February 1998 | Microsoft / IBM, part of Windows and OS/2 since the late 1980s |
| Usual payload | Windows Media Video, sometimes VC-1 | Raw pixel rows, bottom-up, padded to four-byte boundaries |
| Colour depth | 8-bit 4:2:0 after decoding | 16-bit RGB555 or 8-bit palette, depending on preset |
| Transparency | No | Not written by any of the presets here |
| Browser support | None — no browser has ever decoded ASF | Widely readable, but nobody uses it on the web |
| Good for | Windows Media playback | Handing a raw framebuffer to software that insists on it |
Because nothing is compressed. High writes every pixel literally at two bytes each — a 640 × 360 frame is 460,800 bytes of pixel data plus a 54-byte header, regardless of content. The compressed video frame it came from is a frequency-domain approximation of the same picture in a fraction of the space. That is the trade BMP makes: no decoding cleverness required, so no size saving either.
It means each pixel is stored in a 16-bit word with five bits for red, five for green and five for blue, leaving one bit unused — 32,768 possible colours rather than the 16.7 million of 24-bit colour. On flat graphics you will not see the difference. On a smooth sky or a skin-tone gradient, mild banding can appear because the steps between adjacent colours are eight times coarser than in true colour.
Both write an 8-bit palette bitmap with run-length encoding and Floyd–Steinberg dithering, which spreads the quantisation error across neighbouring pixels so banding reads as fine noise rather than hard steps. Medium keeps 256 colours and writes the classic 40-byte BMP3 header; Low drops to 86 colours and writes the 124-byte BITMAPV5HEADER. Low is smaller and more visibly dithered.
The very first one. Frame Selection opens on "Specific Frame" with the time set to 0. Type a number into "Time (seconds)" to move — the field accepts decimals, so 12.5 is twelve and a half seconds in, and 83.5 is 1:23.5 rather than 1.23.
Yes — switch Frame Selection to "Multiple Screenshots" and pick a capture rate. The rates run from one frame every tenth of a second up to one frame every ten seconds, and each captured frame is written as its own BMP with the same preset and resolution settings. Given how large High-preset bitmaps are, keep an eye on the total.
Because the source is interlaced and nothing is deinterlaced anywhere in this conversion. Standard-definition ASF material is frequently interlaced, and each stored frame is woven from two fields captured a fraction of a second apart, so anything that moved between them freezes as comb-like horizontal stripes. Pick a lower-motion moment, or grab two or three candidate timestamps and keep the cleanest.
Yes. Image resolution offers "Keep original", a percentage, a list of height presets and explicit Width, Height or Width × Height fields. Scaling before the bitmap is written is worth doing whenever the destination has a fixed frame — a splash screen or an LCD panel — because it also cuts the High preset's size proportionally.
Only if something specifically requires it — some embedded displays, older Windows tooling and a few industrial applications read nothing else. For anything else the same frame as ASF to PNG is losslessly compressed at a fraction of the size, and ASF to JPG is smaller still when a photograph is what you want.