compose-icons
2.0.7indexedComprehensive 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.
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:
These icon packs are large and may increase build time:
Note: Prefer adding only the packs you need to keep app compile time lower.
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.
| 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 |
| 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 |
[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" }
Surfaced from shared tags and platforms — no rankings paid for.