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?
- Input Delimited Data: Paste your CSV, TSV, or custom delimited text or click Load Sample.
- Configure Delimiters:
- Input Delimiter: Select Auto-Detect, Comma, Tab, Semicolon, Pipe, Space, or Custom.
- Output Delimiter: Select your desired target separator.
- Convert & Export: Click Convert Delimiter, then click Copy or Download.
Related Developer Utilities
- CSV Formatter & Beautifier: Format and align CSV spreadsheets with ASCII tables.
- CSV to JSON Converter: Convert tabular CSV data into structured JSON objects.
- CSV Column Sorter: Sort CSV rows by any column in ascending or descending order.
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 ';' -NoTypeInformationLinux / Unix (Bash / Shell)
Using standard Linux tr or awk:
# Convert CSV to TSV (tab-separated)
tr ',' '\t' < input.csv > output.tsvPython
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.");
}
}