
Comprehensive collection of popular icon packs with a Material-style API, ready-to-use vector icons, curated small and large packs, and Maven Central artifacts for selective inclusion.
A comprehensive collection of icon packs for Compose Multiplatform. This library provides well-known icon packs with an API inspired by Compose Material Icons.
[!NOTE]
This project is based on compose-icons by DevSrSouza. We updated all icon packs to their latest versions, added new icon packs, and modernized the codebase. Thank you to Gabriel Souza (DevSrSouza) for the original work.
The artifacts are published to Maven Central. Add the dependency to your build.gradle.kts:
dependencies {
implementation("io.github.ardasoyturk.compose.icons:{ICON_PACK}:{VERSION}")
}Replace {ICON_PACK} with your desired icon pack name:
2.0.6 (or newer)implementation("io.github.ardasoyturk.compose.icons:simple-icons:2.0.6")import compose.icons.fontawesomeicons.Brands
import compose.icons.fontawesomeicons.fontawesomeicons
Icon(
imageVector = FontAwesomeIcons.Brands.Github,
contentDescription = "GitHub"
)These icon packs are available on Maven Central and have reasonable method sizes:
| Icon Pack | Version | Gradle Dependency | Icons | Documentation |
|---|---|---|---|---|
| Feather | 4.29.2 | feather |
288 | docs |
| Eva Icons | 1.1.3 | eva-icons |
493 | docs |
| Font Awesome | 6.7.2 | font-awesome |
2,064 | docs |
| Octicons | 19.21.2 | octicons |
721 | docs |
| Linea | 1.0 | linea |
723 | docs |
| css.gg | 2.1.1 | css-gg |
705 | docs |
| Lucide | 0.563.1 | lucide |
1,669 | docs |
These icon packs are large and may increase build time:
| Icon Pack | Version | Gradle Dependency | Icons | Documentation |
|---|---|---|---|---|
| Simple Icons | 16.7.0 | simple-icons |
3,389 | docs |
| Tabler Icons | 3.36.1 | tabler-icons |
5,989 | docs |
Note: Prefer adding only the packs you need to keep app compile time lower.
[versions]
composeIcons = "2.0.6" # choose the version you want to use
[libraries]
# Maven Central available (small packs)
composeIcons-cssGg = { module = "io.github.ardasoyturk.compose.icons:css-gg", version.ref = "composeIcons" }
composeIcons-evaIcons = { module = "io.github.ardasoyturk.compose.icons:eva-icons", version.ref = "composeIcons" }
composeIcons-feather = { module = "io.github.ardasoyturk.compose.icons:feather", version.ref = "composeIcons" }
composeIcons-fontAwesome = { module = "io.github.ardasoyturk.compose.icons:font-awesome", version.ref = "composeIcons" }
composeIcons-linea = { module = "io.github.ardasoyturk.compose.icons:linea", version.ref = "composeIcons" }
composeIcons-octicons = { module = "io.github.ardasoyturk.compose.icons:octicons", version.ref = "composeIcons" }
composeIcons-lucide = { module = "io.github.ardasoyturk.compose.icons:lucide", version.ref = "composeIcons" }
# Local builds only (large packs - exceed JVM method size limit)
# composeIcons-simpleIcons = { module = "io.github.ardasoyturk.compose.icons:simple-icons", version.ref = "composeIcons" }
# composeIcons-tablerIcons = { module = "io.github.ardasoyturk.compose.icons:tabler-icons", version.ref = "composeIcons" }Contributions are welcome! If you'd like to add a new icon pack or improve existing functionality, please open an issue or pull request.
See the Development Guide for detailed instructions.
This project is based on compose-icons by Gabriel Souza (DevSrSouza). We updated all icon packs to their latest versions, added new icon packs (like Lucide), and modernized the codebase. Thank you to the original author for creating this excellent library.
This project is licensed under the MIT License. See LICENSE for details.
Individual icon packs have their own licenses, which can be found in their respective documentation files.
A comprehensive collection of icon packs for Compose Multiplatform. This library provides well-known icon packs with an API inspired by Compose Material Icons.
[!NOTE]
This project is based on compose-icons by DevSrSouza. We updated all icon packs to their latest versions, added new icon packs, and modernized the codebase. Thank you to Gabriel Souza (DevSrSouza) for the original work.
The artifacts are published to Maven Central. Add the dependency to your build.gradle.kts:
dependencies {
implementation("io.github.ardasoyturk.compose.icons:{ICON_PACK}:{VERSION}")
}Replace {ICON_PACK} with your desired icon pack name:
2.0.6 (or newer)implementation("io.github.ardasoyturk.compose.icons:simple-icons:2.0.6")import compose.icons.fontawesomeicons.Brands
import compose.icons.fontawesomeicons.fontawesomeicons
Icon(
imageVector = FontAwesomeIcons.Brands.Github,
contentDescription = "GitHub"
)These icon packs are available on Maven Central and have reasonable method sizes:
| Icon Pack | Version | Gradle Dependency | Icons | Documentation |
|---|---|---|---|---|
| Feather | 4.29.2 | feather |
288 | docs |
| Eva Icons | 1.1.3 | eva-icons |
493 | docs |
| Font Awesome | 6.7.2 | font-awesome |
2,064 | docs |
| Octicons | 19.21.2 | octicons |
721 | docs |
| Linea | 1.0 | linea |
723 | docs |
| css.gg | 2.1.1 | css-gg |
705 | docs |
| Lucide | 0.563.1 | lucide |
1,669 | docs |
These icon packs are large and may increase build time:
| Icon Pack | Version | Gradle Dependency | Icons | Documentation |
|---|---|---|---|---|
| Simple Icons | 16.7.0 | simple-icons |
3,389 | docs |
| Tabler Icons | 3.36.1 | tabler-icons |
5,989 | docs |
Note: Prefer adding only the packs you need to keep app compile time lower.
[versions]
composeIcons = "2.0.6" # choose the version you want to use
[libraries]
# Maven Central available (small packs)
composeIcons-cssGg = { module = "io.github.ardasoyturk.compose.icons:css-gg", version.ref = "composeIcons" }
composeIcons-evaIcons = { module = "io.github.ardasoyturk.compose.icons:eva-icons", version.ref = "composeIcons" }
composeIcons-feather = { module = "io.github.ardasoyturk.compose.icons:feather", version.ref = "composeIcons" }
composeIcons-fontAwesome = { module = "io.github.ardasoyturk.compose.icons:font-awesome", version.ref = "composeIcons" }
composeIcons-linea = { module = "io.github.ardasoyturk.compose.icons:linea", version.ref = "composeIcons" }
composeIcons-octicons = { module = "io.github.ardasoyturk.compose.icons:octicons", version.ref = "composeIcons" }
composeIcons-lucide = { module = "io.github.ardasoyturk.compose.icons:lucide", version.ref = "composeIcons" }
# Local builds only (large packs - exceed JVM method size limit)
# composeIcons-simpleIcons = { module = "io.github.ardasoyturk.compose.icons:simple-icons", version.ref = "composeIcons" }
# composeIcons-tablerIcons = { module = "io.github.ardasoyturk.compose.icons:tabler-icons", version.ref = "composeIcons" }Contributions are welcome! If you'd like to add a new icon pack or improve existing functionality, please open an issue or pull request.
See the Development Guide for detailed instructions.
This project is based on compose-icons by Gabriel Souza (DevSrSouza). We updated all icon packs to their latest versions, added new icon packs (like Lucide), and modernized the codebase. Thank you to the original author for creating this excellent library.
This project is licensed under the MIT License. See LICENSE for details.
Individual icon packs have their own licenses, which can be found in their respective documentation files.