---
page_title: upper - Functions - Configuration Language
description: >-
  The upper function converts all cased letters in the given string to
  uppercase.
---

# `upper` Function

`upper` converts all cased letters in the given string to uppercase.

## Examples

```
> upper("hello")
HELLO
> upper("алло!")
АЛЛО!
```

This function uses Unicode's definition of letters and of upper- and lowercase.

## Related Functions

* [`lower`](/terraform/language/functions/lower) converts letters in a string to _lowercase_.
* [`title`](/terraform/language/functions/title) converts the first letter of each word in a string to uppercase.
