xml.etree.ElementTree.ParseError: undefined entity: line 1, column 10: what it means and how to fix it
TL;DR: Validate locally, fix the first real error, validate again (no upload).
Troubleshoot xml.etree.ElementTree.ParseError: undefined entity: line 1, column 10 and fix invalid XML locally (no upload).
What the error means
xml.etree.ElementTree.ParseError: undefined entity: line 1, column 10 means the XML parser found invalid markup. Most XML issues are fixable by correcting the first broken tag/character and re-validating.
Most common real-world causes
- Mismatched tags (opening/closing tags do not match).
- Unescaped reserved characters (especially & in text).
- Multiple root elements (XML must have exactly one root).
- Invalid characters (control chars, bad Unicode) inside the file.
- Wrong encoding or a stray BOM/prolog mismatch.
- Cut/truncated XML (missing closing tags).
Fast debugging steps
- Validate the first error first. Fixing the first broken tag usually resolves many downstream errors.
- Search around the reported line/column for mismatched tags or a raw '&' that should be '&'.
- Confirm the XML starts with a single root and ends with the matching closing tag.
- If the file comes from a feed/export, try a smaller sample to isolate the first invalid record.
Code example (python)
import xml.etree.ElementTree as ET
try:
root = ET.fromstring(xml_text)
print(root.tag)
except ET.ParseError as e:
# e.position is (line, column) for many errors
print('ParseError:', e)
print('position:', getattr(e, 'position', None))
Fix without uploading data
If the XML contains sensitive data, validate and convert locally. No Upload Tools runs 100% in your browser.
- XML to JSON to trigger strict parsing and see the first parser error.
- JSON Validator to validate output if you post-process to JSON.
Workflow: validate -> fix the first error -> validate again -> export/convert.
FAQ
Why do I get different errors in different tools? XML parsers differ. Always fix the first error in the raw input and re-check.
Should I regex-fix XML? Avoid blind regex edits. Validate after each change so you know what you fixed.
Related tools
Related guides
Privacy & Security
All processing happens locally in your browser. Files are never uploaded.