---
title: "maxLength"
description: "Returns [InputTransformation] that rejects input which causes the total length of the text field
to be more than [maxLength] characters.

This transformation also sets the maximum text length for accessibility services. When using an
[OutputTransformation] that adds decorating characters, the announced maximum length may need to
be adjusted to account for those characters. See the linked sample for an example of a custom
`maxLength` filter that does this."
type: "function"
---

<div class='type'>Function</div>


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


```kotlin
fun InputTransformation.maxLength(maxLength: Int): InputTransformation
```


Returns `InputTransformation` that rejects input which causes the total length of the text field
to be more than `maxLength` characters.

This transformation also sets the maximum text length for accessibility services. When using an
`OutputTransformation` that adds decorating characters, the announced maximum length may need to
be adjusted to account for those characters. See the linked sample for an example of a custom
`maxLength` filter that does this.



## Code Examples
### BasicTextFieldInputTransformationMaxLengthCustom
```kotlin
@Composable
fun BasicTextFieldInputTransformationMaxLengthCustom() {
    val state = remember { TextFieldState() }
    BasicTextField(
        state,
        inputTransformation =
            object : InputTransformation {
                override fun SemanticsPropertyReceiver.applySemantics() {
                    maxLength(14)
                }
                override fun TextFieldBuffer.transformInput() {
                    if (length > 10) revertAllChanges()
                }
            },
        outputTransformation =
            OutputTransformation {
                if (length > 0) insert(0, "(")
                if (length > 4) insert(4, ") ")
                if (length > 9) insert(9, "-")
            },
    )
}
```

