happytails.ai

Tabs to Spaces

Open Tabs to Spaces on Happytails.ai. This view has the same page content and links, with explicit tool capabilities. Read the processing notes before using a tool.

Tool capabilities

{
  "id": "tabs-to-spaces",
  "category": "text-tools",
  "built": true,
  "requirements": "Tab stops versus literal replacement; configurable width and reverse mode.",
  "implementation": {
    "fields": [
      {
        "key": "n",
        "label": "Spaces per tab",
        "value": 4,
        "type": "number",
        "min": 1,
        "max": 16,
        "step": 1
      }
    ],
    "experience": {
      "automatic": true,
      "single": false,
      "inputMaxLength": 1000000,
      "inputMode": "text",
      "label": "Your text",
      "placeholder": "Hello world!",
      "help": "Change the input or settings to update your result. Results update as you type. Up to 1,000,000 characters.",
      "helpParts": [
        "Change the input or settings to update your result.",
        "Results update as you type.",
        "Up to 1,000,000 characters."
      ],
      "action": null
    },
    "mode": "automatic",
    "interactive": false
  },
  "execution": "POST /api/v1/tools/tabs-to-spaces/run",
  "api": {
    "id": "tabs-to-spaces",
    "name": "Tabs to spaces",
    "category": "text-tools",
    "description": "Replace each tab with a fixed number of spaces.",
    "notes": "",
    "human_path": "/en/text-tools/tabs-to-spaces/",
    "method": "POST",
    "endpoint": "/api/v1/tools/tabs-to-spaces/run",
    "schema_url": "/api/v1/tools/tabs-to-spaces",
    "input_schema": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "input": {
          "type": "string",
          "maxLength": 1000000,
          "default": "",
          "description": "Plain text input. File tools use files instead unless otherwise documented."
        },
        "options": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "n": {
              "type": "number",
              "description": "Spaces per tab",
              "default": 4.0,
              "minimum": 1,
              "maximum": 16,
              "multipleOf": 1
            }
          }
        }
      }
    },
    "output_schema": {
      "type": "object",
      "required": [
        "tool",
        "result"
      ],
      "properties": {
        "tool": {
          "type": "string"
        },
        "result": {
          "type": "object",
          "required": [
            "text",
            "files"
          ],
          "properties": {
            "text": {
              "type": [
                "string",
                "null"
              ]
            },
            "data": {
              "description": "Parsed JSON when the textual result is JSON."
            },
            "name": {
              "type": "string"
            },
            "mime": {
              "type": "string"
            },
            "files": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "name",
                  "mime",
                  "bytes",
                  "base64"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "mime": {
                    "type": "string"
                  },
                  "bytes": {
                    "type": "integer"
                  },
                  "base64": {
                    "type": "string",
                    "contentEncoding": "base64"
                  }
                }
              }
            }
          }
        }
      }
    },
    "processing": "Server; same transformation code as browser tools",
    "limits": {
      "request_bytes": 8388608,
      "input_characters": 1000000,
      "files_bytes": 5242880,
      "max_files": 0,
      "timeout_seconds": 12
    }
  },
  "agent_processing": "Server; same transformation code as browser tools",
  "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"
  }
}

Page guide

Replace each tab with a fixed number of spaces.

How to use Tabs to spaces
  1. Enter your text in the input field.
  2. The result updates as you type. Adjust the available settings if needed.
  3. Review the result, then use Copy result or a download link when available.

How it works

Choose 1 to 16 spaces per tab. This is literal replacement, not alignment to tab stops. Input and output are each limited to 1,000,000 characters.

Keep the result

Review the changed text, then copy or download it. The original input stays available. Processing happens in your browser.