---
title: isNormalized
url: https://nexyron.tech/docs/cypher/functions/string/isnormalized
description: Checks whether text is already in a requested Unicode normalization form. It is documented separately because text normalization and slicing often become grouping keys, search inpu
---

# isNormalized

## Generic Description

Checks whether text is already in a requested Unicode normalization form. It is documented separately because text normalization and slicing often become grouping keys, search inputs, or exported identifiers.

Simple example:

```cypher
RETURN isNormalized('Café', 'NFC') AS value
```

## Consumer-Level Explanation

Use it in data-quality checks before deciding whether ingestion should normalize values upstream. Prefer this function when the text operation is part of the query contract and should be visible during review.

## More Detailed Explanation

`isNormalized` runs inside the row pipeline, which makes text cleanup, extraction, and grouping keys visible to Nexyron instead of hidden in application code. That is especially important for imported document metadata, labels, and identifiers that feed later matching or indexing.

## Advanced Example

This example applies `isNormalized` while shaping document metadata, so text cleanup is part of the auditable query rather than an application-side afterthought.

```cypher
WITH ['Café', 'Café'] AS titles
UNWIND titles AS raw_title
RETURN raw_title, isNormalized(raw_title, 'NFC') AS already_nfc
ORDER BY raw_title
```

## Real Use Cases

-   normalizing document titles and source identifiers before grouping
-   extracting prefixes, suffixes, or tokens from imported text fields
-   checking payload size or Unicode normalization before ingestion cleanup

## Real Limitations And Tradeoffs

-   query-time cleanup is explicit but can hide upstream data-quality debt if overused
-   string operations are not semantic search; use vector or semantic procedures for meaning-based matching
-   byte length and character length answer different questions and should not be substituted blindly
