CSV to XML converter
Convert a CSV table to XML, with the header row as element names. Runs in your browser, free, no sign-up.
Result
Add a CSV and click Convert. The XML file shows up here.
What to do next
How it works
Add a CSV and click Convert. Encoding and delimiter are detected automatically and the header row is used for the element names. The output is UTF-8 with two-space indentation.
Things to know
Characters such as & < > are escaped according to XML rules, and control characters that XML does not allow are dropped. A header starting with @ becomes an attribute of the row element.
Frequently asked questions
What does the XML look like?
Each row becomes one <row> element and the header cells become the element names. The root and row element names can be changed in the options.
Can headers use non-Latin characters?
Yes. Unicode letters are valid in XML names. Spaces, parentheses and similar characters are replaced with _, and a name that starts with a digit gets a leading _.
Accented or non-Latin characters look garbled when I open the CSV in Excel.
Excel misreads a UTF-8 CSV that has no byte order mark (BOM) and treats it as a legacy encoding, so the characters come out wrong. Here, UTF-8 and EUC-KR (a legacy Korean encoding) are told apart automatically when reading, and a UTF-8 BOM is added by default when saving so Excel opens it correctly.
Do my files get uploaded anywhere?
No. Everything runs inside this browser tab and the files never leave your device. The results disappear when you close the page, so save what you need.