---
title: IconButton
description: A button component that displays an icon in various sizes.
api_name: shop-minis
source_url:
html: 'https://shopify.dev/docs/api/shop-minis/components/primitives/iconbutton'
md: 'https://shopify.dev/docs/api/shop-minis/components/primitives/iconbutton.md'
---
# Icon​Button
A button component that displays an icon in various sizes.
## Props
* **Icon**
**LucideIcon**
**required**
Lucide icon component to render
* **buttonStyles**
**string**
Custom CSS classes for the button container
* **filled**
**boolean**
Whether the button is in a filled/active state
* **iconStyles**
**string**
Custom CSS classes for the icon
* **onClick**
**() => void**
Click handler
* **size**
**'default' | 'sm' | 'lg'**
Button size variant
Examples
## Preview

### Examples
* #### IconButton
##### Default
```tsx
import React from 'react'
import {FavoriteButton} from '@shopify/shop-minis-react'
export default function MyComponent() {
return (
)
}
```
* #### Default icon button
##### Description
A default icon button
##### Default
```tsx
import React from 'react'
import {FavoriteButton} from '@shopify/shop-minis-react'
export default function MyComponent() {
return (
)
}
```
* #### Filled icon button
##### Description
An icon button with filled state
##### Default
```tsx
import {IconButton} from '@shopify/shop-minis-react'
import {Heart} from 'lucide-react'
export default function MyComponent() {
const handleClick = () => {
console.log('Icon button clicked')
}
return
}
```
* #### Small icon button
##### Description
A small-sized icon button
##### Default
```tsx
import {IconButton} from '@shopify/shop-minis-react'
import {Star} from 'lucide-react'
export default function MyComponent() {
const handleClick = () => {
console.log('Small icon button clicked')
}
return (
)
}
```
* #### Large icon button
##### Description
A large-sized icon button
##### Default
```tsx
import {IconButton} from '@shopify/shop-minis-react'
import {Settings} from 'lucide-react'
export default function MyComponent() {
const handleClick = () => {
console.log('Large icon button clicked')
}
return
}
```