happytails.ai

Compare CSV Files

Open Compare CSV Files 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": "compare-csv",
  "category": "spreadsheet-tools",
  "built": true,
  "requirements": "Keyed row diff versus position diff; added/deleted/changed cells and download.",
  "implementation": {
    "fields": [
      {
        "key": "delimiter",
        "label": "CSV separator",
        "value": ",",
        "type": "select",
        "values": [
          ",",
          ";",
          "\t"
        ]
      },
      {
        "key": "other",
        "label": "Second CSV",
        "value": "",
        "type": "textarea"
      }
    ],
    "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/compare-csv/run",
  "api": {
    "id": "compare-csv",
    "name": "Compare CSV",
    "category": "spreadsheet-tools",
    "description": "Keyed row diff versus position diff.",
    "notes": "",
    "human_path": "/en/spreadsheet-tools/compare-csv/",
    "method": "POST",
    "endpoint": "/api/v1/tools/compare-csv/run",
    "schema_url": "/api/v1/tools/compare-csv",
    "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": {
            "delimiter": {
              "type": "string",
              "description": "CSV separator",
              "default": ",",
              "enum": [
                ",",
                ";",
                "\t"
              ]
            },
            "other": {
              "type": "string",
              "description": "Second CSV",
              "default": ""
            }
          }
        }
      }
    },
    "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

Find what changed between two CSV files.

How to use Compare CSV
  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.

Useful next steps

Working with compare csv

Spreadsheet tasks involve values, formulas, data types and presentation. A conversion may preserve the displayed value without preserving the formula that produced it. Identifiers, dates and locale-specific decimal separators deserve special attention.

Common questions

Why do identifiers lose leading zeros?

A spreadsheet can interpret a text identifier as a number. Once 00123 is treated as 123, formatting may be needed to display zeros again. Preserve the original value as text when its exact representation matters.

Does CSV keep formulas and multiple sheets?

CSV represents one flat table. It does not retain a workbook’s sheets, formatting or full formula behavior. Treat it as an exchange format for values and review how the receiving application interprets them.

Continue your workflow: CSV remove duplicates, CSV join, JSON to CSV.