{
  "title": "Image to ASCII art",
  "human_url": "https://happytails.ai/en/image-tools/image-to-ascii-art/",
  "agent_url": "https://happytails.ai/agents/en/image-tools/image-to-ascii-art/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/image-tools/image-to-ascii-art.md",
  "content": "Image to ASCII art\nTurn a photo into a character mosaic. Choose its width and characters, then copy or download the full result.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nHow to use Image to ASCII art\nChoose a still PNG, JPEG or WebP image.\nSet the output columns, character proportions and dark-to-light character ramp.\nRun the tool, review the mosaic, and download the text, standalone HTML or settings report.\nUseful next steps\nReplace image color\nText to image\nMatch the character proportions\nThe width-to-height setting adjusts the number of rows for tall monospace characters. The default is 0.5. Change it if your chosen font stretches the image.\nChoose a dark-to-light ramp\nList denser characters first and lighter characters last. A space can represent white. Invert reverses the mapping. Transparent pixels are composited onto the chosen background before averaging.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "Replace image color",
      "url": "https://happytails.ai/en/image-tools/image-color-replacement/"
    },
    {
      "name": "Text to image",
      "url": "https://happytails.ai/en/text-tools/text-to-image/"
    }
  ],
  "tool": {
    "id": "image-to-ascii-art",
    "category": "image-tools",
    "built": true,
    "requirements": "Runs locally without uploads. One still PNG, JPEG or WebP up to 20 MiB and 16 million decoded pixels, with at most 16,384 pixels per side. Columns range from 1 to 400; character width to height ranges from 0.1 to 2. Output is limited to 400 rows and 160000 cells. Use 2 to 64 printable characters ordered from dark to light. Alpha is composited onto the chosen background, then each cell uses area-averaged brightness. The text, standalone HTML and report contain the full mosaic. Original metadata is not retained. Processing stops after 30 seconds.",
    "implementation": {
      "fields": [
        {
          "key": "columns",
          "label": "Columns",
          "value": "80",
          "type": "number",
          "min": 1,
          "max": 400,
          "step": 1
        },
        {
          "key": "characterAspect",
          "label": "Character width to height",
          "value": "0.5",
          "type": "number",
          "min": 0.1,
          "max": 2,
          "step": 0.1
        },
        {
          "key": "ramp",
          "label": "Dark-to-light characters",
          "value": "@%#*+=-:. ",
          "type": "text"
        },
        {
          "key": "invert",
          "label": "Invert character ramp",
          "value": false,
          "type": "checkbox"
        },
        {
          "key": "background",
          "label": "Transparency background",
          "value": "#ffffff",
          "type": "color"
        }
      ],
      "registrationFamily": "pixel-editing",
      "files": true,
      "input": false,
      "multiple": false,
      "accept": ".png,.jpg,.jpeg,.webp",
      "maxFileBytes": 20971520,
      "deferImagePreview": true,
      "note": "Runs locally without uploads. One still PNG, JPEG or WebP up to 20 MiB and 16 million decoded pixels, with at most 16,384 pixels per side. Columns range from 1 to 400; character width to height ranges from 0.1 to 2. Output is limited to 400 rows and 160000 cells. Use 2 to 64 printable characters ordered from dark to light. Alpha is composited onto the chosen background, then each cell uses area-averaged brightness. The text, standalone HTML and report contain the full mosaic. Original metadata is not retained. Processing stops after 30 seconds.",
      "experience": {
        "automatic": false,
        "single": false,
        "inputMaxLength": 1000000,
        "inputMode": "text",
        "label": "Your text",
        "placeholder": "Type or paste your input…",
        "help": "Up to 1,000,000 characters. Review the settings before running.",
        "action": "Convert file"
      },
      "mode": "explicit",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# Image to ASCII art\n\n- Human page: https://happytails.ai/en/image-tools/image-to-ascii-art/\n- Markdown: https://happytails.ai/en/image-tools/image-to-ascii-art.md\n- Structured JSON: https://happytails.ai/agents/en/image-tools/image-to-ascii-art/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `image-to-ascii-art` |\n| Category | image-tools |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Use the visible action or interactive controls. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nRuns locally without uploads. One still PNG, JPEG or WebP up to 20 MiB and 16 million decoded pixels, with at most 16,384 pixels per side. Columns range from 1 to 400; character width to height ranges from 0.1 to 2. Output is limited to 400 rows and 160000 cells. Use 2 to 64 printable characters ordered from dark to light. Alpha is composited onto the chosen background, then each cell uses area-averaged brightness. The text, standalone HTML and report contain the full mosaic. Original metadata is not retained. Processing stops after 30 seconds.\n\n### Inputs and settings\n\nNo free-text input is required. Use the file inputs and/or settings below.\n\nAccepted browser files: `.png,.jpg,.jpeg,.webp`. Choose one file.\n\nBrowser file-input limit: 20971520 bytes in total. HTTP limits can differ.\n\n| Setting | Meaning | Control type | Default | Constraints |\n| --- | --- | --- | --- | --- |\n| `columns` | Columns | number | \"80\" | min=1 max=400 step=1 |\n| `characterAspect` | Character width to height | number | \"0.5\" | min=0.1 max=2 step=0.1 |\n| `ramp` | Dark-to-light characters | text | \"@%#*+=-:. \" |  |\n| `invert` | Invert character ramp | checkbox | false |  |\n| `background` | Transparency background | color | \"#ffffff\" |  |\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nRuns locally without uploads. One still PNG, JPEG or WebP up to 20 MiB and 16 million decoded pixels, with at most 16,384 pixels per side. Columns range from 1 to 400; character width to height ranges from 0.1 to 2. Output is limited to 400 rows and 160000 cells. Use 2 to 64 printable characters ordered from dark to light. Alpha is composited onto the chosen background, then each cell uses area-averaged brightness. The text, standalone HTML and report contain the full mosaic. Original metadata is not retained. Processing stops after 30 seconds.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"image-to-ascii-art\",\n  \"category\": \"image-tools\",\n  \"built\": true,\n  \"requirements\": \"Runs locally without uploads. One still PNG, JPEG or WebP up to 20 MiB and 16 million decoded pixels, with at most 16,384 pixels per side. Columns range from 1 to 400; character width to height ranges from 0.1 to 2. Output is limited to 400 rows and 160000 cells. Use 2 to 64 printable characters ordered from dark to light. Alpha is composited onto the chosen background, then each cell uses area-averaged brightness. The text, standalone HTML and report contain the full mosaic. Original metadata is not retained. Processing stops after 30 seconds.\",\n  \"implementation\": {\n    \"fields\": [\n      {\n        \"key\": \"columns\",\n        \"label\": \"Columns\",\n        \"value\": \"80\",\n        \"type\": \"number\",\n        \"min\": 1,\n        \"max\": 400,\n        \"step\": 1\n      },\n      {\n        \"key\": \"characterAspect\",\n        \"label\": \"Character width to height\",\n        \"value\": \"0.5\",\n        \"type\": \"number\",\n        \"min\": 0.1,\n        \"max\": 2,\n        \"step\": 0.1\n      },\n      {\n        \"key\": \"ramp\",\n        \"label\": \"Dark-to-light characters\",\n        \"value\": \"@%#*+=-:. \",\n        \"type\": \"text\"\n      },\n      {\n        \"key\": \"invert\",\n        \"label\": \"Invert character ramp\",\n        \"value\": false,\n        \"type\": \"checkbox\"\n      },\n      {\n        \"key\": \"background\",\n        \"label\": \"Transparency background\",\n        \"value\": \"#ffffff\",\n        \"type\": \"color\"\n      }\n    ],\n    \"registrationFamily\": \"pixel-editing\",\n    \"files\": true,\n    \"input\": false,\n    \"multiple\": false,\n    \"accept\": \".png,.jpg,.jpeg,.webp\",\n    \"maxFileBytes\": 20971520,\n    \"deferImagePreview\": true,\n    \"note\": \"Runs locally without uploads. One still PNG, JPEG or WebP up to 20 MiB and 16 million decoded pixels, with at most 16,384 pixels per side. Columns range from 1 to 400; character width to height ranges from 0.1 to 2. Output is limited to 400 rows and 160000 cells. Use 2 to 64 printable characters ordered from dark to light. Alpha is composited onto the chosen background, then each cell uses area-averaged brightness. The text, standalone HTML and report contain the full mosaic. Original metadata is not retained. Processing stops after 30 seconds.\",\n    \"experience\": {\n      \"automatic\": false,\n      \"single\": false,\n      \"inputMaxLength\": 1000000,\n      \"inputMode\": \"text\",\n      \"label\": \"Your text\",\n      \"placeholder\": \"Type or paste your input…\",\n      \"help\": \"Up to 1,000,000 characters. Review the settings before running.\",\n      \"action\": \"Convert file\"\n    },\n    \"mode\": \"explicit\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nTurn a photo into a character mosaic. Choose its width and characters, then copy or download the full result.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n### How to use Image to ASCII art\n\n1. Choose a still PNG, JPEG or WebP image.\n2. Set the output columns, character proportions and dark-to-light character ramp.\n3. Run the tool, review the mosaic, and download the text, standalone HTML or settings report.\n\n## Useful next steps\n\n- [Replace image color](https://happytails.ai/en/image-tools/image-color-replacement/) ([Markdown](https://happytails.ai/en/image-tools/image-color-replacement.md))\n\n- [Text to image](https://happytails.ai/en/text-tools/text-to-image/) ([Markdown](https://happytails.ai/en/text-tools/text-to-image.md))\n\n## Match the character proportions\n\nThe width-to-height setting adjusts the number of rows for tall monospace characters. The default is 0.5. Change it if your chosen font stretches the image.\n\n### Choose a dark-to-light ramp\n\nList denser characters first and lighter characters last. A space can represent white. Invert reverses the mapping. Transparent pixels are composited onto the chosen background before averaging.\n"
}