
Offers a collection of open-source icon packs for use across various platforms, featuring automated updates, customizable downloads, and support for multiple icon styles like Octicons and Tabler.
Open source icons sets for Compose Multiplatform — supporting Android, iOS, Desktop (JVM), and Web (Wasm).
| Android | iOS | Desktop | Web |
|---|---|---|---|
Available in Maven Central
repositories {
mavenCentral()
}Add it to your project, see the table below for the corresponding version.
kotlin {
sourceSets {
commonMain {
dependencies {
implementation("com.woowla.compose.icon.collections:{artifact}:{version}")
}
}
}
}In your code, use the icons like this:
Icon(imageVector = Octicons.Home16, contentDescription = null)
Icon(imageVector = Tabler.Filled.HospitalCircle, contentDescription = null)
Icon(imageVector = Tabler.Outline.HospitalCircle, contentDescription = null)See all available icons on the GitHub Pages, only the latest published version is available.
The same version numbers as the official icon packs have been followed
| Icon Pack | Artifact | Version | License |
|---|---|---|---|
| Tabler | tabler | ||
| Octicons | octicons | ||
| Remix Icon | remix | ||
| Boxicons | boxicons | ||
| Feather | feather | ||
| Ionicons | ionicons | ||
| Font Awesome | fontawesome | ||
| Heroicons | heroicons | ||
| Simple icons | simpleicons | ||
| Bootstrap icons | twbs |
Download task
Download tasks are executed to update the icons, the process is as follows:
build.gradle fileAuto update
The Update icons workflow will update the icons automatically every 2 weeks. Right now, it only updates icons that have GitHub releases, so there are some icons that should be updated manually
Special cases
Typically, all icon download tasks retrieve icons from GitHub releases. However, there are a few exceptions:
afterDownload and gitHubUrlProvider function to categorize icons. Additionally, there is an issue with the Square value from StrokeCap in the generated image vectors. This must be manually replaced with StrokeCap.Square to avoid conflicts with an icon named Square (see #35).iconNameTransformer to handle conflicts between the FontAwesome icon and its accessor name.afterDownload function to remove the lerna.svg icon because it throws MethodTooLargeException when compiling the project.-Pgitcommit flag to commit the changes.build.gradle file, and commit the changes.build.gradle from an existing module. Copy octicons if the icon pack uses GitHub releases or boxicons if it uses the main branch.download-icons task, and others from the build.gradle
Right now the only way to test is by running the sample app, follow these steps:
AllIcons to the icons list in the App.kt file./gradlew <module>:download-icons./gradlew <module>:download-icons -Pgitcommit use the -Pgitcommit flag to commit the changes./gradlew download-icons to download all the icons, just in case do not use with the -Pgitcommit flag
Open source icons sets for Compose Multiplatform — supporting Android, iOS, Desktop (JVM), and Web (Wasm).
| Android | iOS | Desktop | Web |
|---|---|---|---|
Available in Maven Central
repositories {
mavenCentral()
}Add it to your project, see the table below for the corresponding version.
kotlin {
sourceSets {
commonMain {
dependencies {
implementation("com.woowla.compose.icon.collections:{artifact}:{version}")
}
}
}
}In your code, use the icons like this:
Icon(imageVector = Octicons.Home16, contentDescription = null)
Icon(imageVector = Tabler.Filled.HospitalCircle, contentDescription = null)
Icon(imageVector = Tabler.Outline.HospitalCircle, contentDescription = null)See all available icons on the GitHub Pages, only the latest published version is available.
The same version numbers as the official icon packs have been followed
| Icon Pack | Artifact | Version | License |
|---|---|---|---|
| Tabler | tabler | ||
| Octicons | octicons | ||
| Remix Icon | remix | ||
| Boxicons | boxicons | ||
| Feather | feather | ||
| Ionicons | ionicons | ||
| Font Awesome | fontawesome | ||
| Heroicons | heroicons | ||
| Simple icons | simpleicons | ||
| Bootstrap icons | twbs |
Download task
Download tasks are executed to update the icons, the process is as follows:
build.gradle fileAuto update
The Update icons workflow will update the icons automatically every 2 weeks. Right now, it only updates icons that have GitHub releases, so there are some icons that should be updated manually
Special cases
Typically, all icon download tasks retrieve icons from GitHub releases. However, there are a few exceptions:
afterDownload and gitHubUrlProvider function to categorize icons. Additionally, there is an issue with the Square value from StrokeCap in the generated image vectors. This must be manually replaced with StrokeCap.Square to avoid conflicts with an icon named Square (see #35).iconNameTransformer to handle conflicts between the FontAwesome icon and its accessor name.afterDownload function to remove the lerna.svg icon because it throws MethodTooLargeException when compiling the project.-Pgitcommit flag to commit the changes.build.gradle file, and commit the changes.build.gradle from an existing module. Copy octicons if the icon pack uses GitHub releases or boxicons if it uses the main branch.download-icons task, and others from the build.gradle
Right now the only way to test is by running the sample app, follow these steps:
AllIcons to the icons list in the App.kt file./gradlew <module>:download-icons./gradlew <module>:download-icons -Pgitcommit use the -Pgitcommit flag to commit the changes./gradlew download-icons to download all the icons, just in case do not use with the -Pgitcommit flag