Go to Sign up
Note: Your files never leave your device. We don't upload, transfer, or store your data.
|
|
|
|
|---|---|---|
|
|
|
The Markdown To CSV Converter on A.Tools transforms Markdown pipe-delimited tables into CSV (Comma-Separated Values) format. Six settings let you control value and row delimiters, add row wrappers, enable quote wrapping, and include a UTF-8 BOM for Excel compatibility. All processing runs in your browser. No data leaves your device.
CSV is the most widely supported data exchange format. Every spreadsheet application, database system, statistical tool, and programming language can read and write CSV files — making it the universal standard for moving tabular data between systems.
Click Enter Data to paste a Markdown table into the input area, or click Choose File to drag and drop a .md file. Press Sample to load example data.
Once parsed, an interactive spreadsheet appears. Use the toolbar to:
Add or delete rows and columns
Transpose the table (swap rows and columns)
Remove duplicate rows
Delete empty rows and columns
Change text case (UPPERCASE, lowercase, Capitalize)
Find and replace values — supports case-sensitive search and regex
Toggle First Row as Header to define field names
Right-click any cell for context-menu operations.
In the Properties panel:
| Setting | Default | Description |
|---|---|---|
| Value Delimiter | Comma | Character separating values within a row |
| Row Delimiter | LF | Character separating rows |
| Row Prefix | (empty) | Text prepended to each row |
| Row Suffix | (empty) | Text appended to each row |
| Double Quote Wrap | Off | Wrap values containing delimiters or quotes in double quotes |
| UTF-8 BOM | Off | Prepend UTF-8 Byte Order Mark for Excel compatibility |
Click Convert to generate CSV output. Use Copy to Clipboard or Download File to save as a .csv file.
Two input modes: Paste Markdown directly or upload a .md file via drag-and-drop
Full table editor: Edit, transpose, deduplicate, find-and-replace before converting
8 value delimiter options: Comma, semicolon, tab, pipe, space, colon, and more
8 row delimiter options: LF, CRLF, CR, and platform-specific variants
Row prefix and suffix: Wrap each row with custom text for SQL or code integration
Double quote wrapping: Properly escape values containing delimiters per RFC 4180
UTF-8 BOM: Add byte order mark so Excel correctly detects UTF-8 encoding
Client-side processing: Files never leave the browser — zero data upload
Undo/Redo: Full edit history with revert support
Context menu: Right-click for quick row/column/cell operations
Header toggle: Treat the first row as field names or regular data
Validation indicator: Real-time feedback on input validity
Given this Markdown input:
| name | age | city |
|-------|-----|-------------|
| Alice | 30 | New York |
| Bob | 25 | Los Angeles |
name,age,city
Alice,30,New York
Bob,25,Los Angeles
name;age;city
Alice;30;New York
Bob;25;Los Angeles
name age city
Alice 30 New York
Bob 25 Los Angeles
Values containing the delimiter, quotes, or newlines are automatically wrapped:
"name","age","city"
"Alice","30","New York"
"Bob","25","Los Angeles, CA"
The value Los Angeles, CA contains a comma, so it is wrapped in double quotes to prevent splitting.
Set Row Prefix to ( and Row Suffix to ):
(name,age,city)
(Alice,30,New York)
(Bob,25,Los Angeles)
Set Row Prefix to ' and Row Suffix to ' for SQL value lists:
'name','age','city'
'Alice','30','New York'
'Bob','25','Los Angeles'
The file starts with the UTF-8 byte order mark (EF BB BF), ensuring Microsoft Excel opens the file with correct UTF-8 encoding:
name,age,city
Alice,30,New York
Bob,25,Los Angeles
CSV (Comma-Separated Values) is a plain-text format for tabular data defined in RFC 4180. Each row is a line of text, and values within a row are separated by a delimiter character — most commonly a comma.
| Rule | Example |
|---|---|
| Values separated by delimiter | Alice,30,New York |
| Each record on a new line | Alice,...\nBob,... |
| Optional header row as first line | name,age,city |
| Double quotes escape delimiters | "Los Angeles, CA" |
| Double quotes escape quotes | "He said ""hello""" |
| Leading/trailing spaces are significant | Alice ≠ Alice |
| Last record may or may not end with newline | Both are valid |
| Format | Delimiter | Extension | Use Case |
|---|---|---|---|
| CSV | Comma , | .csv | Standard data exchange |
| TSV | Tab \t | .tsv / .txt | Unix pipelines, clipboard data |
| DSV | Any character | Varies | Custom delimiter formats |
| Pipe-separated | Pipe | | .psv | Configuration files, logs |
| Semicolon CSV | Semicolon ; | .csv | European locales |
The delimiter depends on your data and locale:
| Locale | Decimal Separator | CSV Delimiter |
|---|---|---|
| English (US, UK) | . (period) | Comma , |
| German, French, Spanish | , (comma) | Semicolon ; |
| Dutch, Finnish | , (comma) | Semicolon ; |
If your data contains numbers like 3,14 (European decimal), use semicolon as the value delimiter to avoid splitting the number across columns.
Microsoft Excel often misinterprets UTF-8 CSV files as ANSI/Windows-1252, causing accented characters and non-Latin text to display incorrectly. The UTF-8 BOM (Byte Order Mark) is a 3-byte sequence (EF BB BF) at the start of the file that tells Excel to use UTF-8 encoding.
Enable UTF-8 BOM when:
Your data contains accented characters (é, ü, ñ, ø)
Your data contains non-Latin scripts (Chinese, Japanese, Arabic, Cyrillic)
The CSV will be opened in Microsoft Excel
You are unsure about the recipient's Excel settings
Per RFC 4180, values must be wrapped in double quotes when they contain:
The value delimiter (e.g., Los Angeles, CA)
A double quote character (e.g., He said "hello")
A newline character (e.g., multi-line text)
Leading or trailing spaces
When Double Quote Wrap is enabled, all values are wrapped in quotes for safety. When disabled, only values that require quoting per RFC 4180 are quoted — or none at all, depending on the implementation.
The character that separates values within a row. Options:
| Delimiter | Character | Best For |
|---|---|---|
| Comma | , | Standard CSV (English locales) |
| Semicolon | ; | European locales, data with commas |
| Tab | \t | TSV format, clipboard data, Unix pipelines |
| Pipe | | | Log files, configuration data |
| Space | | Fixed-width approximation |
| Colon | : | Time data, key-value pairs |
| Custom | Any character | Niche formats |
The character sequence that separates rows. Options:
| Delimiter | Sequence | Platform |
|---|---|---|
| LF | \n | Unix, Linux, macOS (default) |
| CRLF | \r\n | Windows, HTTP protocols |
| CR | \r | Classic Mac OS (rare) |
| Custom | Any sequence | Specialized formats |
Use LF for web and Unix tools. Use CRLF for Windows-native applications and some older systems.
Text added before each row. Common uses:
| Prefix | Purpose |
|---|---|
| (empty) | Standard CSV |
( | Wrap rows in parentheses |
' | SQL-style string quoting |
INSERT INTO t VALUES ( | Generate SQL INSERT statements |
[ | JSON array row format |
Text added after each row. Common uses:
| Suffix | Purpose |
|---|---|
| (empty) | Standard CSV |
) | Close wrapped rows |
' | Close SQL-style quoting |
); | Close SQL INSERT statements |
], | Close JSON array rows |
Wraps all values in double quotes ("value"). This ensures safe handling of any value that contains the delimiter, quotes, or special characters. When disabled, values are output as-is.
Enable when:
Values may contain the delimiter character
You want maximum safety and portability
The target application expects quoted values
Prepends the UTF-8 Byte Order Mark (EF BB BF) to the output file. This invisible 3-byte header tells Microsoft Excel to interpret the file as UTF-8, preventing encoding issues with international characters.
Enable when the CSV will be opened in Excel. Disable when the file is consumed by programming tools (Python, Node.js, databases), which may interpret the BOM as data.
| Scenario | Recommended Settings |
|---|---|
| Standard data exchange | Comma delimiter, LF, Double Quote Wrap on |
| European locale data | Semicolon delimiter, CRLF, Double Quote Wrap on |
| Excel import with accented characters | Comma, CRLF, UTF-8 BOM on, Double Quote Wrap on |
| Unix pipeline processing | Tab delimiter (TSV), LF |
| SQL INSERT generation | Comma, Row Prefix: (, Row Suffix: ), |
| Database import (MySQL, PostgreSQL) | Comma, LF, Double Quote Wrap on |
| Python pandas import | Comma, LF, UTF-8 BOM off |
| Log file conversion | Pipe delimiter, LF |
| Configuration data export | Semicolon or colon delimiter |
import pandas as pd
df = pd.read_csv("data.csv")
print(df.head())
Enable UTF-8 BOM and CRLF row delimiter for seamless Excel opening:
name,age,city
Alice,30,São Paulo
Bob,25,München
Carol,28,Tokyo
Set Row Prefix to INSERT INTO users VALUES ( and Row Suffix to );:
INSERT INTO users VALUES ('Alice','30','New York');
INSERT INTO users VALUES ('Bob','25','Los Angeles');
data <- read.csv("data.csv", header = TRUE, stringsAsFactors = FALSE)
print(data)
const fs = require("fs");
const csv = fs.readFileSync("data.csv", "utf-8");
const rows = csv.trim().split("\n");
const headers = rows[0].split(",");
const data = rows.slice(1).map((row) => {
const values = row.split(",");
return Object.fromEntries(headers.map((h, i) => [h.trim(), values[i].trim()])
);
});
console.log(data);
No. All file parsing and conversion runs in your browser using JavaScript. Your data stays on your device. A.Tools never receives, stores, or transmits your file contents.
The tool supports standard pipe-delimited Markdown tables following the CommonMark specification, including tables with or without leading/trailing pipes and alignment indicators.
Use comma for English locales. Use semicolon for European locales (German, French, Spanish, Italian) where the comma is the decimal separator. If numbers in your data use commas for decimals, semicolon prevents incorrect column splitting.
It adds a 3-byte header (EF BB BF) to the start of the file that tells Microsoft Excel to use UTF-8 encoding. Without it, Excel may misinterpret accented characters and non-Latin text. Enable it when the CSV will be opened in Excel.
Enable it when values might contain the delimiter character, double quotes, or newlines. This is the safest option and ensures RFC 4180 compliance. Disable it only when you are certain all values are simple, delimiter-free strings.
They add custom text before and after each row. Use them to generate SQL statements (prefix: INSERT INTO t VALUES (, suffix: );), wrap rows in parentheses or brackets, or add any custom formatting your target system requires.
TSV (Tab-Separated Values) uses a tab character instead of a comma. Select Tab as the Value Delimiter to produce TSV output. TSV is common in Unix pipelines, browser clipboard data, and bioinformatics.
Yes. After parsing, the full table editor lets you modify cells, add or remove rows and columns, transpose, deduplicate, change text case, and find-and-replace values.