Wondering what’s next for npm?Check out our public roadmap! »

    mime-types
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/mime-types package

    2.1.31 • Public • Published

    mime-types

    NPM Version NPM Downloads Node.js Version Build Status Test Coverage

    The ultimate javascript content-type utility.

    Similar to the mime@1.x module, except:

    • No fallbacks. Instead of naively returning the first available type, mime-types simply returns false, so do var type = mime.lookup('unrecognized') || 'application/octet-stream'.
    • No new Mime() business, so you could do var lookup = require('mime-types').lookup.
    • No .define() functionality
    • Bug fixes for .lookup(path)

    Otherwise, the API is compatible with mime 1.x.

    Install

    This is a Node.js module available through the npm registry. Installation is done using the npm install command:

    $ npm install mime-types

    Adding Types

    All mime types are based on mime-db, so open a PR there if you'd like to add mime types.

    API

    var mime = require('mime-types')

    All functions return false if input is invalid or not found.

    mime.lookup(path)

    Lookup the content-type associated with a file.

    mime.lookup('json') // 'application/json'
    mime.lookup('.md') // 'text/markdown'
    mime.lookup('file.html') // 'text/html'
    mime.lookup('folder/file.js') // 'application/javascript'
    mime.lookup('folder/.htaccess') // false
    
    mime.lookup('cats') // false

    mime.contentType(type)

    Create a full content-type header given a content-type or extension. When given an extension, mime.lookup is used to get the matching content-type, otherwise the given content-type is used. Then if the content-type does not already have a charset parameter, mime.charset is used to get the default charset and add to the returned content-type.

    mime.contentType('markdown') // 'text/x-markdown; charset=utf-8'
    mime.contentType('file.json') // 'application/json; charset=utf-8'
    mime.contentType('text/html') // 'text/html; charset=utf-8'
    mime.contentType('text/html; charset=iso-8859-1') // 'text/html; charset=iso-8859-1'
    
    // from a full path
    mime.contentType(path.extname('/path/to/file.json')) // 'application/json; charset=utf-8'

    mime.extension(type)

    Get the default extension for a content-type.

    mime.extension('application/octet-stream') // 'bin'

    mime.charset(type)

    Lookup the implied default charset of a content-type.

    mime.charset('text/markdown') // 'UTF-8'

    var type = mime.types[extension]

    A map of content-types by extension.

    [extensions...] = mime.extensions[type]

    A map of extensions by content-type.

    License

    MIT

    Keywords

    Install

    npm i mime-types

    DownloadsWeekly Downloads

    27,544,351

    Version

    2.1.31

    License

    MIT

    Unpacked Size

    17.7 kB

    Total Files

    5

    Last publish

    Collaborators

    • avatar
    • avatar