Skip to content
Helper to retrieve the Font Awesome icon for a specific file extension
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Font Awesome Filetypes

MIT Licensed Build Status

Helper to retrieve the Font Awesome 5 icon for a specific file extension.


npm install font-awesome-filetypes

For Font Awesome 4, install v1 of this package


Basic Examples

By default, the module exports the function to retrieve an icon's class name:

import getClassNameForExtension from 'font-awesome-filetypes'

const filename = 'foobar.jpg'
const extension = filename.split('.').pop()

const className = getClassNameForExtension(extension)

// className = 'fa-file-image-o'

You could also explicitely import the function:

import { getClassNameForExtension } from 'font-awesome-filetypes'

Ths module also exposes a function to retrieve an html string of the icon (as per the Font Awesome docs):

import { getIconForExtension } from 'font-awesome-filetypes'

const filename = 'foobar.jpg'
const extension = filename.split('.').pop()

const icon = getIconForExtension(extension)

// icon = '<i class="fa fa-file-image-o"></i>'

Other Exposed Objects

Retrieve the object containing all icon classnames:

import icons from 'font-awesome-filetypes/lib/icons'

// icons = { image: 'fa-file-image-o', pdf: 'fa-file-pdf-o', ... }

Retrieve the object containing all supported extensions:

import extensions from 'font-awesome-filetypes/lib/extensions'

// extensions = { gif: 'fa-file-image-o', jpeg: 'fa-file-image-o', ... }


You can run the tests (ESLint & Mocha) with:

npm run test


Please see CHANGELOG for more information what has changed recently.


Please see CONTRIBUTING for details.


If you discover any security related issues, please email instead of using the issue tracker.


You're free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.

Our address is: Spatie, Samberstraat 69D, 2060 Antwerp, Belgium.

We publish all received postcards on our company website.


Support us

Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.

Does your business depend on our contributions? Reach out and support us on Patreon. All pledges will be dedicated to allocating workforce on maintenance and new awesome stuff.


The MIT License (MIT). Please see License File for more information.

You can’t perform that action at this time.