---
title: `byte_length`
url: https://nexyron.tech/docs/cypher/functions/string/byte-length
description: Counts UTF 8 bytes in a string. It is documented separately because text normalization and slicing often become grouping keys, search inputs, or exported identifiers.
---

# `byte_length`

## Generic Description

Counts UTF-8 bytes 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 byte_length('Runbook') AS value
```

## Consumer-Level Explanation

Use it for storage, payload, or protocol-size checks where byte length matters. Prefer this function when the text operation is part of the query contract and should be visible during review.

## More Detailed Explanation

`byte_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 `byte_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, byte_length(d.title) AS title_bytes
ORDER BY title_bytes 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
