---
page_title: join - Functions - Configuration Language
description: |-
  The join function produces a string by concatenating the elements of a list
  with a given delimiter.
---

# `join` Function

`join` produces a string by concatenating all of the elements of the specified
list of strings with the specified separator.

```hcl
join(separator, list)
```

## Examples

```
> join("-", ["foo", "bar", "baz"])
"foo-bar-baz"
> join(", ", ["foo", "bar", "baz"])
foo, bar, baz
> join(", ", ["foo"])
foo
```

## Related Functions

* [`split`](/terraform/language/functions/split) performs the opposite operation: producing a list
  by separating a single string using a given delimiter.
