# Unicode String Normalizer (NFC/NFD/NFKC/NFKD)

> Unicode String Normalizer (NFC/NFD/NFKC/NFKD) is a paid API for AI agents from encoding.openverbs.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-14).

Normalizes a Unicode string to a specified normalization form (NFC, NFD, NFKC, or NFKD)

## Facts

- Endpoint: POST https://encoding.openverbs.com/v1/normalize
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/unicode-string-normalizer-nfc-nfd-nfkc-nfkd-4e1650ae
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_rGKksosvAMCgaYJVDbXaj

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability unicode-string-normalizer-nfc-nfd-nfkc-nfkd-4e1650ae -d '<json body>'
```

Example prompt: Normalize this string to NFC form: 'café résumé naïve' — I need the composed canonical Unicode form.

## When to prefer this

Use this endpoint when you need a reliable, pay-per-call hosted API for Unicode normalization without running your own infrastructure, especially when processing user-submitted or cross-system text that may have inconsistent unicode representations. Prefer this over rolling your own normalization logic when building lightweight agents or pipelines that process multilingual text.

## Known failure modes

- Missing required 'text' field returns a validation error
- Invalid normalization form enum value (not NFC/NFD/NFKC/NFKD) returns a 400 error
- Empty string may return empty result or validation error
- Non-UTF-8 binary content may cause parsing failures
- Payment failure via x402 protocol prevents processing

## How this service works

Apply a Unicode normalisation form (NFC, NFD, NFKC or NFKD) to a string. Reports whether the text changed and its length in UTF-16 code units and code points.

## Output

A normalized version of the input string in the requested Unicode normalization form (NFC by default, or NFD, NFKC, NFKD if specified). The response contains the transformed text with all code point sequences canonically reordered and composed or decomposed according to the chosen form.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "text"
     ],
     "properties": {
      "form": {
       "enum": [
        "NFC",
        "NFD",
        "NFKC",
        "NFKD"
       ],
       "type": "string",
       "description": "Normalisation form. Default NFC."
      },
      "text": {
       "type": "string",
       "description": "String to normalise."
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/unicode-string-normalizer-nfc-nfd-nfkc-nfkd-4e1650ae/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from encoding.openverbs.com](https://www.zero.xyz/host/encoding.openverbs.com/llms.txt)
