CSV to XML
Convert CSV rows to XML. Paste CSV on the left; the XML output builds on the right as you type.
id,name,role
1,Ada Lovelace,engineer
2,Grace Hopper,engineer
becomes
<?xml version="1.0" encoding="UTF-8"?>
<root>
<item>
<id>1</id>
<name>Ada Lovelace</name>
<role>engineer</role>
</item>
<item>
<id>2</id>
<name>Grace Hopper</name>
<role>engineer</role>
</item>
</root>
CSV parses into an array of row objects, the same shape CSV to JSON produces, and the XML builder wraps a top-level array in repeated <item> elements since there’s no column to name them after. Each column then becomes a child element inside its row’s <item>.
Naming the outer wrapper
The Root name field controls the outermost element, root by default; set it to something like orders or records to match your schema. The inner <item> tag name is fixed. If you need a specific name per row instead, convert to JSON first, wrap each row object under the key you want, then convert that JSON to XML with JSON to XML.
Everything becomes text
XML text carries no type, so a numeric column like id becomes <id>1</id>, indistinguishable at the XML level from a text column. This matches how JSON to XML already handles numbers: the CSV parsing step’s Coerce types setting affects the JSON produced in between, but every value is written as plain text once it reaches XML.
When CSV to XML isn’t the right pair
If the goal is a specific config format, like an Android layout file or a Maven pom.xml, a flat CSV export usually won’t match the expected shape on its own. Build the target JSON structure by hand first, then use JSON to XML for that final step.