---
title: set
description: "Save a value to use later in the template."
---

# set

Save a value to use later in the template.

## Syntax

```knap
{% set name = expression %}
```

## Usage

- Give a value a name, then use `{{ name }}` later in the template. Filters can be applied.
- Using the same name again replaces its value.
- Values set inside a loop only last for the current item.
- The `set` tag produces no output and needs no closing tag.

## Example

```json title="Data"
{
  "title": "Hello World"
}
```

```knap title="Template"
{% set slug = title | kebab %}File: {{ slug }}.md
```

```md title="Output"
File: hello-world.md
```

## Related

- [`for`](/logic/for). Repeat content for each item in an array.
