en

TOML to XML

Convert a TOML file to XML locally - the configuration as well-formed markup, no upload, right in your browser.

Running locally on your device ...

0%

Your files never left your device

    Is my file uploaded?

    No. Everything runs in your browser - your file never leaves your device. How this is verifiable

    No upload100% local
    Your content stays with youno third-party access
    Servers in GermanyGDPR by design
    Independently auditedTLS A+ · HTTP headers A+

    TOML is the configuration format of the Rust and Python toolchains - a Cargo.toml or pyproject.toml with sections in square brackets and plain key-equals-value lines. XML is the established markup format for data exchange, office documents and many enterprise interfaces, with tags and attributes. This tool reads your TOML file and writes the same structure as well-formed XML.

    The conversion runs entirely locally in your browser: smol-toml reads the TOML, fast-xml-parser writes the XML, both pure JavaScript. Tables become nested elements, arrays of tables become repeated elements, scalars become element text. An XML document needs exactly one root element; if your TOML has several top-level keys, the content is placed neatly under a root element so the result is always well-formed.

    This closes the last gap in the format matrix: JSON, YAML, TOML and XML can now be converted into one another locally in every direction. It stays honest about it: TOML date/time values are written into the XML as ISO 8601 text, because XML has no date type of its own. The result is indented, readable XML with a declaration header. Nothing is uploaded.

    Specifications

    Specifications
    Input formatsTOML
    Output formatXML
    Batch processingNo
    ProcessingLocally in your browser (JavaScript)
    File uploadNone

    In 3 steps

    1. Drop or pick your TOML file.
    2. The tool converts it into XML.
    3. Download the XML file.

    Limitations: TOML always parses to a table. A single top-level key becomes the XML root element; several keys are placed under a root element so the XML has exactly one root. Sub-tables become nested elements, arrays of tables become repeated elements. TOML date/time values are written as ISO 8601 text (XML has no date type). Invalid TOML is rejected with a clear message.

    FAQ

    Is my file uploaded?

    No. The conversion runs entirely locally in the browser - nothing is sent.

    Does it work with a Cargo.toml or pyproject.toml?

    Yes. Cargo.toml, pyproject.toml and other TOML files are parsed directly and written as XML.

    How is the root element determined?

    A single top-level key becomes the root; several keys are placed under a root element.

    How are date/time values handled?

    As ISO 8601 text, because XML has no date type of its own.

    Does the reverse work too?

    Yes, with our "XML to TOML" tool.

    Related tools