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

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

    4.20.0 • Public • Published

    Simple Icons

    Simple Icons

    Over 1500 Free SVG icons for popular brands. See them all on one page at SimpleIcons.org. Contributions, corrections & requests can be made on GitHub.

    Build status NPM version Build status

    Usage

    General Usage

    Icons can be downloaded as SVGs directly from our website - simply click the icon you want, and the download should start automatically.

    CDN Usage

    Icons can be served from a CDN such as JSDelivr or Unpkg. Simply use the simple-icons npm package and specify a version in the URL like the following:

    <img height="32" width="32" src="https://cdn.jsdelivr.net/npm/simple-icons@v4/icons/[ICON SLUG].svg" />
    <img height="32" width="32" src="https://unpkg.com/simple-icons@v4/icons/[ICON SLUG].svg" />

    Where [ICON SLUG] is replaced by the slug of the icon you want to use, for example:

    <img height="32" width="32" src="https://cdn.jsdelivr.net/npm/simple-icons@v4/icons/simpleicons.svg" />
    <img height="32" width="32" src="https://unpkg.com/simple-icons@v4/icons/simpleicons.svg" />

    These examples use the latest major version. This means you won't receive any updates following the next major release. You can use @latest instead to receive updates indefinitely. However, this will result in a 404 error if the icon is removed.

    Node Usage

    The icons are also available through our npm package. To install, simply run:

    $ npm install simple-icons
    

    The API can then be used as follows, where [ICON SLUG] is replaced by a slug:

    const simpleIcons = require('simple-icons');
    
    // Get a specific icon by its slug as:
    simpleIcons.get('[ICON SLUG]');
    
    // For example:
    const icon = simpleIcons.get('simpleicons');
    
    console.log(icon);
    
    /*
    {
        title: 'Simple Icons',
        slug: 'simpleicons',
        hex: '111111',
        source: 'https://simpleicons.org/',
        svg: '<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">...</svg>',
        path: 'M12 12v-1.5c-2.484 ...',
        guidelines: 'https://simpleicons.org/styleguide',
        license: {
            type: '...',
            url: 'https://example.com/'
        }
    }
    
    NOTE: the `guidelines` entry will be `undefined` if we do not yet have guidelines data for the icon.
    NOTE: the `license` entry will be `undefined` if we do not yet have license data for the icon.
    */

    Alternatively you can import the needed icons individually, where [ICON SLUG] is replaced by a slug. This is useful if you are e.g. compiling your code with webpack and therefore have to be mindful of your package size:

    // Import a specific icon by its slug as:
    require('simple-icons/icons/[ICON SLUG]');
    
    // For example:
    const icon = require('simple-icons/icons/simpleicons');
    
    console.log(icon);
    
    /*
    {
        title: 'Simple Icons',
        slug: 'simpleicons',
        hex: '111111',
        source: 'https://simpleicons.org/',
        svg: '<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">...</svg>',
        path: 'M12 12v-1.5c-2.484 ...',
        guidelines: 'https://simpleicons.org/styleguide',
        license: {
            type: '...',
            url: 'https://example.com/'
        }
    }
    
    NOTE: the `guidelines` entry will be `undefined` if we do not yet have guidelines data for the icon.
    NOTE: the license may be `undefined` if there is no license data for the icon.
    */

    Lastly, the simpleIcons object is also enumerable. This is useful if you want to do a computation on every icon:

    const simpleIcons = require('simple-icons');
    
    for (const title in simpleIcons) {
        const icon = simpleIcons.get(title);
        // do stuff
    }

    TypeScript Usage

    There are also TypeScript type definitions for the Node package. To use them, simply run:

    $ npm install @types/simple-icons
    

    PHP Usage

    The icons are also available through our Packagist package. To install, simply run:

    $ composer require simple-icons/simple-icons
    

    The package can then be used as follows, where [ICON SLUG] is replaced by a slug:

    <?php
    // Import a specific icon by its slug as:
    echo file_get_contents('path/to/package/icons/[ICON SLUG].svg');
    
    // For example:
    echo file_get_contents('path/to/package/icons/simpleicons.svg');
    
    // <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">...</svg>
    ?>

    Third Party Extensions

    Drupal

    Icons are also available as a Drupal module created by Phil Wolstenholme.

    Flutter

    Icons are also available as a Flutter package created by @jlnrrg.

    Hexo

    Icons are also available as a Hexo plugin created by @nidbCN.

    Home Assistant

    Icons are also available as a Home Assistant plugin created by @vigonotion.

    Jetpack Compose

    Icons are also available as a Jetpack Compose library created by @devsrsouza.

    Kirby

    Icons are also available as a Kirby plugin created by @runxel.

    Laravel

    Icons are also available as a Laravel Package created by @adrian-ub

    React

    Icons are also available as a React package created by @wootsbot.

    Svelte

    Icons are also available as a Svelte package created by @wootsbot.

    Vue

    Icons are also available as a Vue package created by @noahlitvin.

    WordPress

    Icons are also available as a WordPress plugin created by @tjtaylo.

    Keywords

    Install

    npm i simple-icons

    DownloadsWeekly Downloads

    240,425

    Version

    4.20.0

    License

    CC0-1.0

    Unpacked Size

    10 MB

    Total Files

    3799

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar