---
title: querystring.sort
summary: null
url: >-
  https://www.fastly.com/documentation/reference/vcl/functions/query-string/querystring-sort
---

```
STRING querystring.sort(STRING url, BOOL only_unique_keys?)
```

**Available in:** all subroutines

Returns the given URL with its query string sorted. For example,
`querystring.sort("/foo?b=1&a=2&c=3");` returns `"/foo?a=2&b=1&c=3"`.

Passing in `true` to the `only_unique_keys` parameter will filter out non-unique keys from the query string parameters.
For instance, `querystring.sort("/test?a=7&a=2&a=1&b=5&b=3", true)` yields `"/test?a=7&b=5"`.

Some additional behaviors to note:

- If there are more than 32 parameters, the URL is left unsorted.
- Sorting is case-sensitive, with uppercase coming before lowercase (e.g., "A" sorts before "a").
- All parameters are preserved by default, even with duplicate keys or duplicate values.
- Empty parameters with no key will be dropped.

## Example

```vcl
set req.url = querystring.sort(req.url);
set req.url = querystring.sort(req.url, true);
```
