---
title: "wrapContentSize"
description: "Allow the content to measure at its desired size without regard for the incoming measurement
[minimum width][Constraints.minWidth] or [minimum height][Constraints.minHeight] constraints,
and, if [unbounded] is true, also without regard for the incoming maximum constraints. If the
content's measured size is smaller than the minimum size constraint, [align] it within that
minimum sized space. If the content's measured size is larger than the maximum size constraint
(only possible when [unbounded] is true), [align] within the maximum space."
type: "modifier"
---

<div class='type'>Compose Modifier</div>

<a id='references'></a>
<div class='sourceset sourceset-common'>Common</div>


```kotlin
fun Modifier.wrapContentSize(align: Alignment = Alignment.Center, unbounded: Boolean = false) =
    this.then(
        if (align == Alignment.Center && !unbounded) {
            WrapContentSizeCenter
        } else if (align == Alignment.TopStart && !unbounded) {
            WrapContentSizeTopStart
        } else {
            WrapContentElement.size(align, unbounded)
        }
    )
```


Allow the content to measure at its desired size without regard for the incoming measurement
`minimum width` or `minimum height` constraints,
and, if `unbounded` is true, also without regard for the incoming maximum constraints. If the
content's measured size is smaller than the minimum size constraint, `align` it within that
minimum sized space. If the content's measured size is larger than the maximum size constraint
(only possible when `unbounded` is true), `align` within the maximum space.



## Code Examples
### SimpleWrapContentAlignedModifier
```kotlin
@Composable
fun SimpleWrapContentAlignedModifier() {
    // Here the result will be a 20.dp x 20.dp blue box top-centered in a 40.dp x 40.dp space.
    // Because of the sizeIn modifier, if wrapContentSize did not exist, the blue rectangle
    // would actually be 40.dp x 40.dp to satisfy the min size set by the modifier. However,
    // because we provide wrapContentSize, the blue rectangle is specified to be wrap
    // content - if the desired size is smaller than 40.dp x 40.dp, it will be top-centered in
    // this space. Therefore the 20.dp x 20.dp is top-centered in the space.
    Box(
        Modifier.sizeIn(minWidth = 40.dp, minHeight = 40.dp)
            .wrapContentSize(Alignment.TopCenter)
            .size(20.dp)
            .background(Color.Blue)
    )
}
```

