CSV to XML converter
Convert CSV to XML: one element per row and one child element per column, with element names you choose and quoted fields read correctly.
What you get
- Convert CSV to XML online: one element per row, one child element per column, with root and row element names you choose.
- Header names that are not valid XML names are fixed and listed.
- Checked twice: every CSV cell compared with the original, then the XML parsed back and compared.
- Private and free: everything runs in your browser, nothing is uploaded, and there is no sign-up.
How each result is checked
- Step 1: The CSV is parsed with a strict parser that reports broken quotes.
- Step 1: Every cell in the JSON is compared with the original cell text; nothing may change.
- Step 2: The output is checked for well-formedness with an XML validator.
- Step 2: The XML is parsed back and compared with your data. Because XML has no data types, values are compared as text.
What can't convert exactly
- Number detection only converts values whose text stays identical, so 007, 1.50 and very long IDs stay text.
- Duplicate or empty header names are renamed, with a warning.
- XML has no numbers, booleans or null: they are written as text, and null becomes an empty element.
- Keys that are not valid XML names (spaces, leading digits) are renamed, and you are told which.
- A one-item array looks the same as a single value in XML, and empty arrays have no XML form.
Questions
How is a two-step conversion checked?
Your input is converted to JSON first, then to the target format. Each step has its own independent check, and both must pass. The checks of both steps are listed under every result.
Is my data uploaded?
No. Everything runs in your browser, in a background worker. Nothing is sent to a server.
How do I convert CSV to XML online?
Paste your CSV or open a file on the left (or click Example). The XML appears on the right as you type, already checked. Copy it, or download it as a file. Nothing is uploaded.
Can the XML output be wrong?
Every result is checked before it is shown (the checks are listed on this page). If a check fails, the page says "Review needed" and why, instead of presenting the output as correct, and anything that cannot convert exactly is named in the notes.