# `slug`

The `slug` filter transforms a given string into another string that only includes safe ASCII characters.

Here is an example:

    {{ 'Wôrķšƥáçè ~~sèťtïñğš~~'|slug }}
    Workspace-settings

The default separator between words is a dash (`-`), but you can define a selector of your choice by passing it as an argument:

    {{ 'Wôrķšƥáçè ~~sèťtïñğš~~'|slug('/') }}
    Workspace/settings

The slugger automatically detects the language of the original string, but you can also specify it explicitly using the second argument:

    {{ '...'|slug('-', 'ko') }}

The `slug` filter uses the method by the same name in Symfony’s AsciiSlugger.

Note

The `slug` filter is part of the `StringExtension` which is not installed by default. Install it first:

    $ composer require twig/string-extra

Then, on Symfony projects, install the `twig/extra-bundle`:

    $ composer require twig/extra-bundle

Otherwise, add the extension explicitly on the Twig environment:

    use Twig\Extra\String\StringExtension;

    $twig = new \Twig\Environment(...);
    $twig->addExtension(new StringExtension());

## Arguments

- `separator`: The separator that is used to join words (defaults to `-`)

- `locale`: The locale code of the original string as defined in RFC 5646