---
title: char_length
url: https://nexyron.tech/docs/cypher/functions/string/char-length
description: Counts Unicode scalar characters in a string. It is documented separately because text normalization and slicing often become grouping keys, search inputs, or exported identifiers.
---

# char_length

## Generic Description

Counts Unicode scalar characters in a string. It is documented separately because text normalization and slicing often become grouping keys, search inputs, or exported identifiers.

Simple example:

```cypher
RETURN char_length('Runbook') AS value
```

## Consumer-Level Explanation

Use it when user-visible character count matters more than byte count. Prefer this function when the text operation is part of the query contract and should be visible during review.

## More Detailed Explanation

`char_length` 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 `char_length` while shaping document metadata, so text cleanup is part of the auditable query rather than an application-side afterthought.

```cypher
MATCH (d:Document)
RETURN d.title AS title, char_length(d.title) AS title_chars
ORDER BY title_chars DESC
```

## 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
