---
title: "__V"
description: "JMeter __V function reference: syntax, parameters, and practical examples for parameterizing test plans with dynamic values."
url: https://docs.jmeter.ai/functions/v/
lastUpdated: 2026-10-01
source: docs.jmeter.ai
---

# __V

*Also documented in context in the [full Functions and Variables reference](/user-manual/functions/#__V).*

**TL;DR:** `__V` (Variable evaluation) resolves a *dynamically built* variable name — e.g. `${__V(row_${__counter(FALSE,)})}` reads `row_1`, `row_2`, … — solving the “variable name that’s itself made of variables” problem that plain `${...}` substitution can’t handle in one step.

The V (variable) function returns the result of evaluating a variable name expression.
This can be used to evaluate nested variable references (which are not currently supported).

For example, if one has variables `A1`,`A2` and `N`=`1`:

- `\${A1}` - works OK
- `\${A\${N}}` - does not work (nested variable reference)
- `\${__V(A\${N})}` - works OK. `A\${N}` becomes `A1`, and the `__V` function returns the value of `A1`

| Name | Required | Description |
| --- | --- | --- |
| Variable name | Yes | The variable to be evaluated. |
| Default value | No | The default value in case no variable found, if it’s empty and no variable found function returns the variable name |

### Example

```plaintext
${__V(row_${__counter(FALSE,)})}   → resolves to the value of row_1, row_2, ... as the counter increments
```

This pattern shows up whenever you’ve extracted multiple values with `Match No. = -1` (producing `var_1`, `var_2`, …) and need to loop through them by a computed index — see [__eval](/functions/eval/) for the related “evaluate this string as an expression” function.

## Related

- [Functions and Variables Guide](/topics/functions-and-variables/)
- [Regex Extractor Builder](/tools/regex-tester/)
- [Correlation & Dynamic Values](/topics/correlation-dynamic-values/)
- [Full Functions Reference](/user-manual/functions/)
- [Component Reference](/user-manual/component-reference/)
