> ## Documentation Index
> Fetch the complete documentation index at: https://docs.odella.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Join Block

> Concatenate an array of strings into a single string using a specified delimiter

<Frame>
  <img src="https://mintcdn.com/odella/I7v1Fbrp2kx7rLoj/block-reference/assets/join_light.png?fit=max&auto=format&n=I7v1Fbrp2kx7rLoj&q=85&s=4d6d95f931172433564f791a4e335ceb" alt="Join Block Screenshot" className="block dark:hidden" width="628" height="352" data-path="block-reference/assets/join_light.png" />

  <img src="https://mintcdn.com/odella/I7v1Fbrp2kx7rLoj/block-reference/assets/join_dark.png?fit=max&auto=format&n=I7v1Fbrp2kx7rLoj&q=85&s=7b32d4cb5302ba00c0714f4f49fadb9e" alt="Join Block Screenshot" className="hidden dark:block" width="618" height="306" data-path="block-reference/assets/join_dark.png" />
</Frame>

## Overview

The Join Block concatenates an array of strings into a single string using a specified delimiter. It's useful for formatting lists of items or joining lines of text. The block supports special characters as delimiters and can flatten input arrays before joining.

## Key Features

* Concatenates multiple strings or array elements into a single string
* Supports custom delimiters, including special characters like newline and tab
* Can flatten nested arrays before joining
* Coerces non-string inputs into strings

## Inputs

<ParamField path="input1" type="string | any[]">
  The first string or array to be joined. Additional numbered inputs (input2, input3, etc.) are created dynamically based on connections.
</ParamField>

<ParamField path="joinString" type="string">
  The delimiter used to join the inputs. Only available when "Use Join String Input" is enabled.
</ParamField>

## Outputs

<ResponseField name="output" type="string">
  The resulting joined string.
</ResponseField>

## Editor Settings

<ParamField path="flatten" type="boolean" default={true}>
  When enabled, flattens any array inputs before joining them.
</ParamField>

<ParamField path="joinString" type="string" default="\n">
  The string used as a delimiter to join the inputs. Supports escape characters like \n (newline), \t (tab).
</ParamField>

<ParamField path="useJoinStringInput" type="boolean" default={false}>
  When enabled, allows the join string to be provided via an input port instead of being set in the settings.
</ParamField>

## Example: Join an array of strings with a newline

1. Create an Array Block with values `["apple", "banana", "cherry"]`.
2. Add a Join Block and set the Join String to `\n` in the settings.
3. Connect the Array Block to the Join Block's `input1`.
4. Run the flow. The output should be:
   ```
   apple
   banana
   cherry
   ```

## Error Handling

The Join Block generally doesn't error. If an input is not provided, it outputs an empty string.

## FAQ

<AccordionGroup>
  <Accordion title="Can I use special characters as the Join String?">
    Yes, you can use special characters like newline (`\n`), tab (`\t`), and space (` `) as the Join String. Enter them literally in the Join String field in the settings.
  </Accordion>

  <Accordion title="Can I join an array of non-string values?">
    Yes, you can join an array of any data type. The values will be coerced into strings before joining.
  </Accordion>

  <Accordion title="Can I use a dynamic Join String?">
    Yes, enable the "Use Join String Input" setting to create a new input port for the Join String.
  </Accordion>
</AccordionGroup>

## See Also

* [Split Text Block](/block-reference/modifiers/chunk)
* [Array Block](/block-reference/data/array)
* [Text Block](/block-reference/data/text)
* [Code Block](/block-reference/advanced/code)
