> ## Documentation Index
> Fetch the complete documentation index at: https://docs.falkordb.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> FalkorDB is a graph database that speaks the Redis protocol. Queries are issued as OpenCypher through the GRAPH.QUERY and GRAPH.RO_QUERY commands, not over Bolt or a SQL connection.
> FalkorDB implements a subset of OpenCypher with proprietary extensions. Do not assume Neo4j-only syntax or procedures are available — check /cypher/cypher-support and /cypher/known-limitations before using a clause.
> FalkorDB is the successor to RedisGraph, but they are separate products. Do not present RedisGraph commands, versions, or limitations as current FalkorDB behavior.
> Use the official clients listed in /getting-started/clients rather than generic Redis or Neo4j drivers, and prefer the language the user is already working in.
> Configuration parameters are set with GRAPH.CONFIG SET or at startup; cite the exact parameter name from /getting-started/configuration rather than inventing one.
> This site covers four products: FalkorDB (core), FalkorDB Cloud, FalkorDB Enterprise, and the GraphRAG SDK. Name which one an answer applies to, since setup and operations differ.

# text.capitalize

> Converts the first character of a string to uppercase, leaving the remainder unchanged.

## Description

Capitalizes the first character of a string, converting it to uppercase while leaving the rest of the string unchanged.

## Syntax

```cypher theme={null}
flex.text.capitalize(string)
```

## Parameters

| Parameter | Type   | Required | Description              |
| --------- | ------ | -------- | ------------------------ |
| `string`  | string | Yes      | The string to capitalize |

## Returns

**Type:** string

The input string with its first character converted to uppercase. Returns `null` if the input is `null`, and empty string if input is empty.

## Examples

### Example 1: Basic Usage

```cypher theme={null}
RETURN flex.text.capitalize('hello world') AS result
```

**Output:**

```text theme={null}
result
-------------
Hello world
```

### Example 2: Capitalizing Node Properties

```cypher theme={null}
MATCH (p:Person)
RETURN p.id, flex.text.capitalize(p.name) AS capitalizedName
```

## Notes

* Returns `null` for `null` input
* Returns empty string for empty string input
* Only affects the first character
* Does not change the case of subsequent characters

## See Also

* [text.decapitalize](/udfs/flex/text/decapitalize) - Lowercase the first character
* [text.camelCase](/udfs/flex/text/camelCase) - Convert to camelCase format
* [text.upperCamelCase](/udfs/flex/text/upperCamelCase) - Convert to UpperCamelCase format

## Frequently Asked Questions

<AccordionGroup>
  <Accordion title="Does flex.text.capitalize change the rest of the string?">
    No. It only converts the **first** character to uppercase — all other characters remain exactly as they are.
  </Accordion>

  <Accordion title="What happens with an empty string input?">
    It returns an empty string. For `null` input, it returns `null`.
  </Accordion>
</AccordionGroup>
