CSV Delimiter Converter

Convert CSV spreadsheets and delimited tables from one delimiter to another (e.g. Comma → Tab, Semicolon, Pipe, Space, Custom) with RFC 4180 quotation preservation.

How to Use the CSV Delimiter Converter

1

Paste Data

Paste your CSV, TSV, or custom delimited dataset into the input editor or click Load Sample.

2

Select Delimiters

Choose your input separator (or leave on Auto-Detect) and pick your target output delimiter.

3

Convert & Export

Click Convert Delimiter to re-delimit your data instantly, then Copy or Download.

Tool Options

Auto-Detection

Intelligently scans line samples to automatically detect whether source data uses commas, tabs, semicolons, or pipes.

Smart Re-Quoting

Automatically applies quotation marks to cells containing the new output delimiter while unquoting safe strings.

Custom Separator Support

Supports conversion to and from any arbitrary character or multi-character custom delimiter string.

Your Data Privacy

Web Tool
Privacy-First Architecture
Most of our web tools process your data entirely in-browser. Where server processing is technically required, payloads are evaluated statelessly in-memory and are never stored, saved, or logged.
REST API
Stateless In-Memory Processing
When you use our API endpoints, your requests are processed strictly in-memory without persistent database storage, disk logging, or data retention.
Want to learn more about how we safeguard your information and infrastructure?
Read our full Privacy Policy for detailed security standards, data retention principles, and compliance guarantees.

What does the CSV Delimiter Converter do?

The CSV Delimiter Converter transforms CSV spreadsheets and delimited tables from one separator to another, such as Comma-Separated Values (CSV) to Tab-Separated Values (TSV), Semicolons (;), Pipes (|), Spaces, or custom delimiter strings. It features automatic input separator detection and preserves RFC 4180 quotation rules.

Core Concepts

  • Automatic Input Detection: Evaluates character frequency heuristics across early line samples to determine source delimiters without requiring manual selection.
  • Smart Quoting Mechanics: Automatically adds quotation marks to cells containing the new output delimiter while maintaining escaped internal quotes ("").
  • TSV & European CSV Compatibility: Enables conversion between US standard comma formats and European semicolon Excel formats.

How to use the tool?

  1. Input Delimited Data: Paste your CSV, TSV, or custom delimited text or click Load Sample.
  2. Configure Delimiters:
    • Input Delimiter: Select Auto-Detect, Comma, Tab, Semicolon, Pipe, Space, or Custom.
    • Output Delimiter: Select your desired target separator.
  3. Convert & Export: Click Convert Delimiter, then click Copy or Download.

Related Developer Utilities

REST API Integration

blueutils.com provides a free REST API endpoint (POST https://blueutils.com/api/csv/csv-delimiter-converter) for programmatic integration.

API Request Parameters

Name Type Description Example
payload String or Array The raw delimited text OR a native JavaScript array-of-arrays to convert. Aliases: rawText, text, input, csv. "id,name\n1,Alice"
options Object Optional delimiter conversion configurations. { "inputDelimiter": "comma", "outputDelimiter": "tab" }
options.inputDelimiter String Source delimiter: "auto", "comma", "tab", "semicolon", "pipe", "custom". "auto"
options.outputDelimiter String Target delimiter: "tab", "semicolon", "pipe", "comma", "custom". "tab"
options.customInputDelimiter String Custom character if inputDelimiter is "custom". ""
options.customOutputDelimiter String Custom character if outputDelimiter is "custom". ""

API Request Payload Examples

cURL (String Payload)

curl -X POST https://blueutils.com/api/csv/csv-delimiter-converter \
  -H "Content-Type: application/json" \
  -d '{
    "payload": "id,product,price\n101,Keyboard,89.99\n102,Mouse,29.50",
    "options": {
      "inputDelimiter": "comma",
      "outputDelimiter": "semicolon"
    }
  }'

Python (Array Payload)

import requests

url = "https://blueutils.com/api/csv/csv-delimiter-converter"
payload = {
    "payload": [["id", "product", "price"], ["101", "Keyboard", "89.99"], ["102", "Mouse", "29.50"]],
    "options": {
        "inputDelimiter": "comma",
        "outputDelimiter": "tab"
    }
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.json())

Java

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Main {
    public static void main(String[] args) throws Exception {
        String jsonPayload = "{\"payload\": \"id,name\\n1,Alice\", \"options\": {\"outputDelimiter\": \"tab\"}}";
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://blueutils.com/api/csv/csv-delimiter-converter"))
            .header("Content-Type", "application/json")
            .POST(HttpRequest.BodyPublishers.ofString(jsonPayload))
            .build();
        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}

API Response Parameters

Name Type Description Example
isValid Boolean Indicates whether the conversion succeeded. true
result String Converted delimited text output. "id\tproduct\tprice\n101\tKeyboard\t89.99"
data Array Native array-of-arrays representation of the converted data. [["id", "product", "price"], ["101", "Keyboard", "89.99"]]
originalSize Number Byte size of the original unformatted data. 49
resultSize Number Byte size of the formatted string output. 49
inputDelimiter String Resolved source delimiter character. ","
outputDelimiter String Target delimiter character used. "\t"
rowCount Number Total count of converted rows. 3
columnCount Number Total count of columns per row. 3

API Response Payload Examples

Success Response (HTTP 200 OK)

{
  "isValid": true,
  "result": "id\tproduct\tprice\n101\tKeyboard\t89.99\n102\tMouse\t29.50",
  "data": [
    ["id", "product", "price"],
    ["101", "Keyboard", "89.99"],
    ["102", "Mouse", "29.50"]
  ],
  "originalSize": 49,
  "resultSize": 49,
  "inputDelimiter": ",",
  "outputDelimiter": "\t",
  "rowCount": 3,
  "columnCount": 3
}

Error Response (HTTP 400 Bad Request)

{
  "isValid": false,
  "error": "CSV input cannot be empty."
}

Rate Limit Exceeded Response (HTTP 429 Too Many Requests)

{
  "error": "API rate limit exceeded. Please wait or contact support@blueutils.com."
}

Why use an API to convert CSV delimiters?

Integrating the CSV Delimiter Converter API into CI/CD pipelines, automated data ingestion pipelines, or autonomous agent workflows provides several practical advantages:

  • Rapid Script Validation: Enables developers and infrastructure engineers to quickly normalize diverse client CSV feeds (commas, semicolons, tabs) into uniform pipeline schemas.
  • Optimized Token Efficiency for AI Agents: Offloading parsing, character escaping, and deterministic delimiter replacement to an external API significantly cuts prompt and completion token consumption for autonomous agents.
  • Deterministic Accuracy Without Hallucinations: Language models can accidentally replace commas embedded within quotes when re-delimiting datasets. Delegating processing to a deterministic API guarantees 100% computational accuracy every time without token overhead.

Native Usage

How to achieve the same task locally without external dependencies using native operating system utilities and scripting languages:

Windows (CMD / PowerShell)

Using native PowerShell Import-Csv and Export-Csv:

# Convert Comma-separated CSV to Semicolon-delimited file
Import-Csv -Path "input.csv" -Delimiter ',' | Export-Csv -Path "output.csv" -Delimiter ';' -NoTypeInformation

Linux / Unix (Bash / Shell)

Using standard Linux tr or awk:

# Convert CSV to TSV (tab-separated)
tr ',' '\t' < input.csv > output.tsv

Python

Using the Python standard library csv module:

import csv

with open("input.csv", mode="r", encoding="utf-8") as infile:
    reader = csv.reader(infile, delimiter=",")
    rows = list(reader)

with open("output.tsv", mode="w", newline="", encoding="utf-8") as outfile:
    writer = csv.writer(outfile, delimiter="\t")
    writer.writerows(rows)

print("Delimiter converted successfully.")

Java

Using standard Java java.nio.file.Files:

import java.nio.file.*;
import java.util.*;

public class DelimiterConverterExample {
    public static void main(String[] args) throws Exception {
        List<String> lines = Files.readAllLines(Paths.get("input.csv"));
        List<String> converted = new ArrayList<>();

        for (String line : lines) {
            String[] cells = line.split(",");
            converted.add(String.join(";", cells));
        }

        Files.write(Paths.get("output.csv"), converted);
        System.out.println("Delimiter converted successfully.");
    }
}

Frequently Asked Questions (FAQ)

How do I convert a CSV file delimiter online?

Paste your delimited data, choose your input separator (or leave Auto-Detect), select your target output delimiter, and click Convert Delimiter.

Does the delimiter converter properly handle commas inside quotes?

Yes. The converter parses standard RFC 4180 quotation tokens, ensuring commas inside quotes are never mistakenly replaced.

Can I convert CSV to TSV or European semicolon format?

Yes. The tool supports standard Comma, Tab (TSV), Semicolon (;), Pipe (|), Space, and arbitrary custom delimiter characters.

Rate Limits

UI Limits
100 uses per 15 minutes
Max payload size: 5 MB
API Limits
5 requests per 60 minutes
Max payload size: 256 KB
Need higher API rate limits, increased payload sizes, or custom developer solutions?
Contact our engineering team at support@blueutils.com for custom rate limit increases, higher quota allocations, or tailored enterprise integrations.