Utilo

MOV MIME Type – Free, Online, Private

video/quicktime is the type for a QuickTime .mov file. It is an ISOBMFF cousin of MP4 and not the same type.

What .mov is

A .mov file is a QuickTime movie. It uses the same size-and-fourcc box layout as MP4 and often starts with ftyp, with a brand such as qt . Older files start with a moov or a wide box and no ftyp at all. The sample tables in moov describe tracks the way MP4 does. Codecs include ProRes, which a browser will not play, and H.264, which it might if the file is close enough to MP4. The registered type is video/quicktime. Sending video/mp4 for a ProRes .mov does not make the browser grow a ProRes decoder.

IANA registers video/quicktime. The media type is video/quicktime. Extensions that use it on this page: .mov. A client compares the type, not the filename, once the response has arrived. The filename still matters on disk and in Content-Disposition, which is why a wrong extension and a wrong header are two different bugs.

What sends video/quicktime

What sends video/quicktime: Send video/quicktime for a .mov download aimed at an editor. If the movie has to play in a video element, remux or transcode to video/mp4 or video/webm and send that type on a different URL. A camera original is a master. The web file is a derivative. Keep both types honest. Range requests matter for editors that scrub a large ProRes file. Enable them on the download host. Do not add a charset. The file on disk is still .mov. Once the response exists, a client trusts video/quicktime, not the filename. If you accept .mov uploads, store them as video/quicktime and transcode asynchronously. Returning the original bytes on a public video src with this type is how a product demo works on the uploader's Mac and nowhere else.

Content-Type for .mov

Send video/quicktime and do not add a charset parameter. The body is binary. A charset tells a text decoder to reinterpret bytes that are not text, which corrupts a download and does not help a browser sniff the format.

Content-TypeContent-Type: video/quicktime

nginx, Apache, and Express

These snippets map .mov to video/quicktime. nginx reads the types block when it picks a type from the URL's extension. A location that sets default_type, or an application that sets the header itself, overrides that map. Apache AddType applies in the directory context where you put it. The Express static example writes the header for files ending in .mov so a stale mime database in the framework cannot disagree with the type on this page.

nginx# /etc/nginx/mime.types, inside the types { } block
video/quicktime             mov;
ApacheAddType video/quicktime .mov
Expressimport express from "express";

const app = express();
app.use(express.static("public", {
  setHeaders(res, filePath) {
    if (filePath.endsWith(".mov")) {
      res.setHeader("Content-Type", "video/quicktime");
    }
  },
}));

Pitfalls for video/quicktime

Pitfalls that show up for video/quicktime, and not for a neighboring type with a similar extension: Browsers that sniff a .mov URL and find an H.264 avc1 sample may play it even when the type is video/quicktime. Do not depend on that. The next export will be ProRes and the same URL will go black. Another trap is a types map that sends application/octet-stream for .mov because the server image is old. Editors still save the file. A preview page will not. A third is treating .mov as a safe subset of .mp4 in a converter and dropping the edit list, which changes the start time.

  • video/quicktime and video/mp4 are both registered and they are not aliases. Pick the one that matches the file you send.
  • A reference movie that points at external media will not survive a download onto a machine that lacks those paths.
  • ProRes, DNxHD, and similar codecs are video/quicktime and are not browser codecs.
  • The ftyp brand qt is a hint. A missing ftyp does not mean the file is not QuickTime.

Frequently asked questions

Can I send video/mp4 for a .mov file?

Only if you have remuxed it into an MP4 the browser can play. A ProRes original stays video/quicktime.

Will a video element play .mov?

Sometimes, when the codec happens to be one the browser has. Do not build on that.

What is the registration?

IANA lists video/quicktime. It is the type to send for a QuickTime file.

Does it start with ftyp?

Modern files often do. Older QuickTime files start with another box. A missing ftyp is not a failed upload by itself.