Repeated record-node detection
Candidate repeating elements are listed so the tool never silently decides the wrong row level.
XML row selection and safety checks before CSV export
Convert XML to CSV locally after confirming the repeating record node. Preserve attributes, namespaces, CDATA, repeated values, and leading-zero IDs with DTD and entity-expansion protection.
Conversion workbench
Source structure, quality findings, and every deliberate transformation stay visible before download.
Paste XML or upload an XML file
Nothing ambiguous is hidden behind “auto.”
Analyze the sample or your own data to continue.
Analysis creates a table preview, a ranked issue list, and an exact transformation summary.
Source bytes remain in this browser tab.
Preview values and risks before export.
Download a JSON conversion report.
What the converter checks
A successful parse is not proof that the result kept the source meaning. These checks surface the places where tabular conversion can change or hide data.
Candidate repeating elements are listed so the tool never silently decides the wrong row level.
Attributes use an @ prefix, namespace prefixes remain visible, and collisions are not hidden.
Repeated child elements remain JSON text by default or can be joined when every value is scalar.
DOCTYPE and custom entity declarations are blocked; built-in XML entities are decoded safely.
Preservation rules
The tool records deliberate changes and keeps ambiguous structures visible rather than silently normalizing them.
Read the full check definitions →Included as columns such as @code instead of being discarded.
Kept in record and column names to avoid accidental collisions.
Read as source text without interpreting markup inside it.
Stored as JSON arrays by default or joined only on request.
A short, inspectable workflow
Paste a document or select a local XML file. DTDs are rejected before parsing.
Select the repeating element that should become CSV rows and review nested fields.
Choose spreadsheet protection and keep the report beside the downloaded CSV.
A concrete failure mode
An inventory feed may repeat item elements while each item also repeats tag elements. Treating both arrays as rows would change the meaning. DataFormatKit asks which node represents records and keeps nested repetitions visible.
Inspect the included example