{
  "slug": "unicode-to-text",
  "name": "gizza-ai/unicode-to-text",
  "version": "0.1.0",
  "title": "Unicode to Text — gizza.ai",
  "description": "Decode Unicode escape sequences back into readable text. Auto-detects \\uXXXX, \\u{X}, \\xXX, \\U00XXXXXX, U+XXXX and HTML &#nn; / &#xnn; in one pass.",
  "tags": [
    "text",
    "unicode",
    "decode",
    "encoding",
    "unescape"
  ],
  "category": "encoding",
  "urls": {
    "page": "https://gizza.ai/tools/unicode-to-text/",
    "markdown": "https://gizza.ai/tools/unicode-to-text/index.md",
    "descriptor": "https://gizza.ai/tools/unicode-to-text/tool.json",
    "deep_link_example": "https://gizza.ai/tools/unicode-to-text/?text=Caf%5Cu00e9%20%5Cu%7B1F600%7D%20U%2B2764%20%26%23128512%3B"
  },
  "cli": "gizza tool unicode-to-text 'Caf\\u00e9 \\u{1F600} U+2764 &#128512;'",
  "tool": {
    "description": "Decode text that contains Unicode escape sequences back into the actual characters. Auto-detects and decodes, all in one pass (no target to pick): \\uXXXX (4-hex JS/JSON/Java, surrogate pairs are combined), \\u{X..} (braced Rust/ES6), \\xXX (2-hex byte), \\U00XXXXXX (8-hex Python), U+XXXX / u+xxxx (code-point notation), and HTML numeric character references &#DDDD; (decimal) and &#xHHHH; (hex). Text that isn't an escape is passed through unchanged; invalid code points become U+FFFD. The inverse of an escaping tool. Runs locally.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "text": {
          "description": "Text containing Unicode escape sequences to decode back into characters.",
          "type": "string"
        }
      },
      "required": [
        "text"
      ],
      "type": "object"
    }
  }
}