# Character Substitution (StringMaskGenerator)

The [Character Substitution](https://docs.tonic.ai/app/generation/generators/generator-reference/character-substitution) generator performs a random character replacement that preserves formatting (spaces, capitalization, and punctuation).

Characters are replaced with other characters from within the same Unicode Block.

## Link object structure <a href="#generator-api-character-substitution-link-object" id="generator-api-character-substitution-link-object"></a>

The Character Substitution generator is implicitly consistent. You cannot configure consistency or differential privacy. There is no generator-specific configuration.

```json
{
  "schema": "string",
  "table": "string",
  "column": "string",
  "path": "string",  //JSON fields only
  "dataType": "string",  //MongoDB, Amazon DynamoDB, and JSON fields only
  "metadata": {
    "generatorId": "StringMaskGenerator",
    "encryptionProcessor": "x-on", //To use configured Structural data encryption
    "customValueProcessor": "string" //If custom value processor applied
  }
}
```

## Example replacement <a href="#generator-api-character-substitution-replacement" id="generator-api-character-substitution-replacement"></a>

The following example replacement assigns the Character Substitution generator to a column.

```json
{
  "name": "age",
  "schema": "public",
  "table": "users",
  "links": [
    {
      "schema": "public",
      "table": "users",
      "column": "age",
      "metadata": {
        "generatorId": "StringMaskGenerator"
      }
    }
  ]
}
```
