Convert xml to lrc

Free online XML to LRC converter

Convert timestamped lyric XML into an LRC file for synchronized playback.

Convert XML to LRC online - free

Uploading…
Selected files exceed the 15 MB total limit. Please select fewer or smaller files.

Your file is processed instantly and never stored on our servers.

How it works

  1. 1/3

    Upload your .xml file

    Click to browse to select your file you want to convert or simply drag & drop your file into selected area.

  2. 2/3

    Perform .xml to .lrc conversion

    After successful file upload, click to convert when you are ready.

  3. 3/3

    Download converted .lrc file

    Conversion result is ready to download.

How to convert xml to lrc file

101convert.com Assistant Avatar

101convert.com assistant bot
25m

Music players and karaoke applications commonly require synchronized lyrics in LRC format, while lyric editors and publishing tools may export the same data as XML. Converting the file preserves lyric text and timestamps only when the XML contains timing information that can be mapped to LRC tags.

What the XML format is

XML is a structured, extensible markup format that stores data inside nested elements and attributes. Music and lyric applications use it for synchronized lyrics, metadata, translations, song catalogs, and project interchange. You may encounter XML exported by lyric editors, karaoke software, digital-audio workstations, media-library managers, or custom publishing systems.

XML has no single lyric schema. One file may store a line as <line time="12.50">Words</line>, while another uses separate elements such as <start>, <duration>, and <content>. Inspect the file in a code editor before converting it so you know which elements contain the lyric and its start time.

What the LRC format is

LRC is a plain-text lyrics format in which each lyric line begins with a timestamp. A basic entry looks like [00:12.50]Words sung at twelve and a half seconds. Common optional metadata tags include [ar:Artist], [ti:Title], [al:Album], and [by:Creator].

LRC is supported by many music players, karaoke applications, and portable-media devices because it is small, human-readable, and easy to edit. Standard line-synchronized LRC stores one timestamp per line; word-level timing requires an enhanced LRC variant and is not supported by every player.

How to actually convert XML to LRC

Use the online converter

For an XML file that already contains recognizable lyric lines and timestamps, use the free converter on 101convert.com: upload the XML file, choose LRC as the output format, start the conversion, and download the resulting .lrc file. Open the result in a plain-text editor and verify that it contains entries such as [00:12.50]Lyric line.

Convert a known XML structure with Python

For private files, repeated conversions, or XML schemas that require inspection, Python's built-in xml.etree.ElementTree module avoids uploading the source. The following example expects lyric elements named line with a time attribute containing seconds or a mm:ss.xx timestamp:

import xml.etree.ElementTree as ET

input_file = "lyrics.xml"
output_file = "lyrics.lrc"

def seconds(value):
    value = value.strip()
    if ":" in value:
        minutes, rest = value.split(":", 1)
        return int(minutes) * 60 + float(rest)
    return float(value)

def lrc_tag(value):
    centiseconds = round(seconds(value) * 100)
    minutes, remainder = divmod(centiseconds, 6000)
    secs, hundredths = divmod(remainder, 100)
    return f"[{minutes:02d}:{secs:02d}.{hundredths:02d}]"

root = ET.parse(input_file).getroot()
entries = []
for line in root.findall(".//line"):
    timestamp = line.get("time")
    lyric = "".join(line.itertext()).strip()
    if timestamp and lyric:
        entries.append((seconds(timestamp), lrc_tag(timestamp) + lyric))

entries.sort(key=lambda item: item[0])
with open(output_file, "w", encoding="utf-8", newline="\n") as lrc:
    lrc.write("[re:0.01]\n")
    lrc.write("\n".join(text for _, text in entries))
    lrc.write("\n")

Save the script as xml_to_lrc.py beside lyrics.xml, then run python xml_to_lrc.py. If the XML uses a different element name, change root.findall(".//line"); if timing is stored in a child element, replace line.get("time") with the appropriate lookup, such as line.findtext("start"). XML namespaces may require a namespace-qualified XPath.

Quality and compatibility limitations

A conversion cannot create accurate synchronization when the XML contains lyrics without timestamps. You must add timings manually or generate them with a separate transcription or lyric-timing workflow. Duration-only data also needs conversion to start times by accumulating the durations.

LRC timestamps normally use minutes, seconds, and hundredths; rounding source times can shift displayed lyrics by several milliseconds. Preserve the source order, remove XML markup from lyric text, and save the result as UTF-8 so accented characters remain readable.

Keep the .lrc file in the same folder as the audio file and use the same base filename when the player matches lyrics automatically, for example song.mp3 and song.lrc. Some players ignore metadata tags, reject the optional [re:] tag, or support only line-level rather than word-level synchronization.


Note: This xml to lrc conversion record is incomplete, must be verified, and may contain inaccuracies. Please vote below whether you found this information helpful or not.

Was this information helpful?

XML vs LRC: format comparison

How the XML and LRC formats compare on the properties that matter most for this conversion.

Comparison of the XML and LRC file formats
Property .XML Extensible Markup Language .LRC Lyrics file
Open standard Yes Partly open
Compression Uncompressed Uncompressed
Typical file size Small Very small
Opens in a web browser Yes, natively No
Further editing Easy Easy
Metadata support Basic Basic
Plain-text readable Yes Yes
Best used for Data exchange Music
Introduced 1998 —
Developer W3C —
MIME type application/xml —

Frequently asked questions

Is the XML to LRC converter free?

Yes, converting XML to LRC on 101convert.com is completely free. No registration, email address or installation is required. If you need a higher file size limit or want to convert more files at once, see our plans.

How large can my XML file be?

You can upload XML files up to 100 MB and convert up to 100 files at once in a single batch.

What happens to my uploaded files?

Files are processed automatically and deleted from our servers within a few minutes after conversion. We never view or share your files.

Do I need to install any software to convert XML to LRC?

No. The XML to LRC conversion runs entirely online in your browser and works on Windows, Mac, Linux, Android and iPhone.

Did the conversion fail?

In most cases, the cause is an incorrect file format. Please upload a valid XML file for this XML to LRC conversion. Occasionally, the issue may be on our side. We analyze recurring conversion failures and disable or fix the converter if we detect a defect.

Additional formats for
xml file conversion

Convert to lrc from
other formats

Share on social media: