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


    1.5.1 • Public • Published


    Automatic icon resizing for Cordova. Create an icon in the root folder of your Cordova project and use cordova-icon to automatically resize and copy it for all the platforms your project supports (currenty works with iOS, Android, Windows 10 and OSX).


    $ sudo apt-get install imagemagick
    $ # on Mac: brew install imagemagick
    $ # on Windows: http://www.imagemagick.org/script/binary-releases.php#windows (check "Legacy tools")
    $ sudo npm install cordova-icon -g

    If you are using an older version of cordova (before 7.x):

    $ sudo npm install cordova-icon@0.13.0 -g



    Create an icon.png file in the root folder of your cordova project. You can provide a platform-specific icon by naming it icon-[platform].png (e.g icon-android.png, icon-ios.png). Then run:

     $ cordova-icon

    You also can specify manually a location for your config.xml or icon.png:

     $ cordova-icon --config=config.xml --icon=icon.png --icon-background=icon_background.png  --icon-foreground=icon_foreground.png

    The parameters --icon-background and --icon-foreground are required if --android-v6 or --android-v7 is not passed.

    If you run a old version of Cordova for iOS / Mac and you need your files in /Resources/icons/, use this option:

     $ cordova-icon --xcode-old

    For good results, your file should be:

    • square
    • for Android and iOS, at least 1024*1024px
    • for Windows, at least 1240*1240px


    To generate icons for cordova-android v6, use the following:

     $ cordova-icon --android-v6

    To generate icons for cordova-android v7, use the following:

     $ cordova-icon --android-v7

    To generate notification icons for cordova-android use the following:

     $ cordova-icon --icon-notification=notification.png --icon-notification-name=ic_notification

    By default, the file name is ic_notification. You can change the name through providing a different name with the parameter --icon-notification-name.


    • Your config.ml file will not be updated by the tool (because images are automatically created in the good folders)
    • Therefore, in your config.xml, be sure to remove all lines looking like <icon src="res/android/ldpi.png" density="ldpi" />

    Creating a cordova-cli hook

    Since the execution of cordova-icon is pretty fast, you can add it as a cordova-cli hook to execute before every build. To create a new hook, go to your cordova project and run:

    $ mkdir hooks/after_prepare
    $ vi hooks/after_prepare/cordova-icon.sh

    Paste the following into the hook script:


    Then give the script +x permission:

    $ chmod +x hooks/after_prepare/cordova-icon.sh

    That's it. Now every time you cordova build, the icons will be auto generated.

    Splash screens

    Check out cordova-splash


    • cordova-plugin-inapppurchase - a lightweight cordova plugin for in app purchases on iOS/Android
    • ng-special-offer - prompt users to rate your cordova app in the app store
    • ionic-lock-screen - passcode lock screen for ionic (with touch id support for iOS)
    • ionic-zoom-view - an easy way to add a zoom view to images using an ionic modal
    • ng-persist - store data on mobile devices (using cordova) that persists even if the user reinstalls the app




    npm i @semabit/cordova-icon

    DownloadsWeekly Downloads






    Unpacked Size

    22.4 kB

    Total Files


    Last publish


    • avatar