What this tool does
This converter turns a CSV table into XML: the header row becomes tag names, each data row becomes a <row> element, and the whole output is wrapped in a <rows> root. When a legacy system only accepts XML payloads or you need to feed batch data to an interface, this replaces hand-writing templates.
Parsing follows RFC 4180: commas and newlines inside quotes are data, and two consecutive quotes escape to one — so a name like "Doe, John" survives intact. The delimiter is auto-detected among comma, semicolon and tab, or can be set explicitly.
How to use
- Step 1: paste the table Copy straight from Excel or paste the .csv content. Tell the tool with a switch whether the first row is a header.
- Step 2: confirm the delimiter Auto-detection picks whichever separator appears most on the first line. Semicolon-separated (common in Europe) and tab-separated files both work; override manually if detection guesses wrong.
- Step 3: generate and copy Output is indented by default for readability; turning pretty print off yields a compact single line. Special characters are always escaped, so any XML parser can read the result.
Limits
CSV is flat and so is the output: a flat list of <row> elements — no nesting, no DTD/XSD, and no CDATA option. Data rows with missing cells get empty fields and extra cells are dropped (the header width wins); this is deliberate leniency so conversion always succeeds while the semantics stay with you.
FAQ
What happens with Chinese or spaces in headers?
Illegal characters become underscores: my col turns into my_col, and empty headers get placeholder names such as column1. Duplicates are suffixed automatically (my_col, my_col_2) to keep every tag unique.
Will a comma inside a field break it?
Not if the field is properly quoted ("Doe, John"). Commas and newlines inside quotes are data. If the source never quoted the field, the file itself is non-conforming and the comma splits as usual.
Does it support CSVs without a header?
Yes. Turn off the header switch and columns are named column1, column2 and so on, with every row treated as data.
What if a data row has more columns than the header?
The header width wins: missing cells become empty elements and extra cells are dropped. That leniency is deliberate so conversion always succeeds while you confirm the semantics.
Can it read 7z or .xlsx directly?
No. Convert .xlsx with the XLSX to CSV tool first; 7z extraction is a later batch. This tool covers the CSV to XML step only.
Is my table uploaded?
No. Parsing and generation happen in the page and no request carries your table, which is exactly why internal reports often must use local tools.