---
title: Icon Button
date: '2025-07-02'
description: Button variant focused on displaying icons. Make sure to always specify a content description for screen readers.
---

<!-- AUTOGEN:START -->
:::preview[iconbutton]
@code
```kotlin
import androidx.compose.foundation.layout.size
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import com.composables.icons.lucide.Lucide
import com.composables.icons.lucide.Pencil
import com.composables.uikit.components.Icon
import com.composables.uikit.components.IconButton

@Composable
fun IconButtonExample() {
    IconButton(onClick = { /* TODO */ }) {
        Icon(Lucide.Pencil, contentDescription = "Compose", modifier = Modifier.size(16.dp))
    }
}
```
@end
:::

## Installation

{{uikit:installation}}

## Usage

```kotlin
import androidx.compose.foundation.layout.size
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import com.composables.icons.lucide.Lucide
import com.composables.icons.lucide.Pencil
import com.composables.uikit.components.Icon
import com.composables.uikit.components.IconButton

@Composable
fun IconButtonExample() {
    IconButton(onClick = { /* TODO */ }) {
        Icon(Lucide.Pencil, contentDescription = "Compose", modifier = Modifier.size(16.dp))
    }
}
```
<!-- AUTOGEN:END -->