You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Pau aff9d08cee client 1 year ago
src client 1 year ago
.npmignore client 1 year ago client 1 year ago
LICENSE client 1 year ago client 1 year ago
cli.js client 1 year ago
mime.js client 1 year ago
package.json client 1 year ago
types.json client 1 year ago


Comprehensive MIME type mapping API based on mime-db module.


Install with npm:

npm install mime

Contributing / Testing

npm run test

Command Line

mime [path_string]


> mime scripts/jquery.js

API - Queries


Get the mime type associated with a file, if no mime type is found application/octet-stream is returned. Performs a case-insensitive lookup using the extension in path (the substring after the last '/' or '.'). E.g.

var mime = require('mime');

mime.lookup('/path/to/file.txt');         // => 'text/plain'
mime.lookup('file.txt');                  // => 'text/plain'
mime.lookup('.TXT');                      // => 'text/plain'
mime.lookup('htm');                       // => 'text/html'


Sets the mime type returned when mime.lookup fails to find the extension searched for. (Default is application/octet-stream.)


Get the default extension for type

mime.extension('text/html');                 // => 'html'
mime.extension('application/octet-stream');  // => 'bin'


Map mime-type to charset

mime.charsets.lookup('text/plain');        // => 'UTF-8'

(The logic for charset lookups is pretty rudimentary. Feel free to suggest improvements.)

API - Defining Custom Types

Custom type mappings can be added on a per-project basis via the following APIs.


Add custom mime/extension mappings

    'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'],
    'application/x-my-type': ['x-mt', 'x-mtt'],
    // etc ...

mime.lookup('x-sft');                 // => 'text/x-some-format'

The first entry in the extensions array is returned by mime.extension(). E.g.

mime.extension('text/x-some-format'); // => 'x-sf'


Load mappings from an Apache ".types" format file


The .types file format is simple - See the types dir for examples.