MusicXML ↔ NoteWorthy converter

convert your music files

Requirements | Terms and cost | Use it! | Version History

This online converter will (try to) read most MusicXML files and create an approximate representation of the score in NoteWorthy Composer v2.5 text format, or read a NWC text file and create a MusicXML file with it. Yes, it works both ways!

Both converters are written in PHP and conserve extensive logs to be able to quickly fix any conversion issue that may arise, usually without requiring additional information from the user.


Terms and cost

  • There is no guarantee at all about this converter. It is provided AS IS, etc. It may not be able to convert your file, the resulting file may not represent exactly what was in the original file. A lot of features of MusicXML are not supported by NoteWorthy Composer, and some MusicXML features supported by NoteWorthy Composer are not supported (yet) by this converter. And a few features of NoteWorthy Composer has no direct equivalent in MusicXML.
  • Usage of this converter is currently free of charge. Uploads are limited to 10 Mb, which should be enough for most situations. If you have a MusicXML file over 10 Mb, use MuseScore or a similar software to save it as compressed MusicXML (.mxl) first. If you have a NWC file over 10 Mb... it will probably be too complex for this converter to process.
  • You can contribute the development of this tool by donating through PayPal, using any credit card (no PayPal account required).
    I wish to contribute with:
    Thanks to everyone who donated, reported errors with great details or provided suggestions and feedback.
    If you want to use another payment method to contribute, please contact us
  • Uploaded files are kept on the server for a short period to allow you to download them. Automated cleanup happens once a day. Conversion errors are kept longer for further analysis.
  • Comments, bug reports, suggestions: contact us!

Use it now!

To begin the conversion process, use the button below. Current version information is MusicXML2NWC v2.3.9.

Since February 6, 2013, over 53000 input files were successfully converted.

Tip #1: To save time and get a more coherent result when converting scanned music (xml => nwctxt), try to merge all pages of the musical piece in a single MusicXML file instead of submitting pages one by one. SharpEye, Photoscore and most other music scanning software have options to merge pages.

Tip #2: Sometimes, MXL files are incorrectly named .xml. The current version of the converter will not be able to detect it and will fail on invalid XML. If it fails, maybe you should try renaming it to .mxl and try again.

Tip #3: Binary NWC files cannot be converted here. Please use Noteworthy Composer v2.5 and up to save the file as "NWC Text file" (.nwctxt).

Tip #4: Long pieces with several parts, for instance the director's score of the 5th symphony, may fail to convert because of memory limitation. If possible, split the part in pieces and try again.

On February 28, 2020, a single user converted over 6800 files (we usually convert less than 500 files per month). This kind of behavior is detrimental to the system and hurts everyone. To limit such abuse in the future and to protect our servers, we added a processing delay:

  • The first 10 conversions (per IP address) have no delay.
  • An increasing delay is applied on each further conversion.
  • Counts are reset after an hour.
Please contact us if you have a large collection to convert. Reasonable fees may apply.


Version History

Version 2.3.9

  • Fixed: (nwc2xml) UTF-8 encoding issue

Version 2.3.8

  • Fixed: (nwc2xml) Accidentals propagation issues.
  • Note: (nwc2xml) Dissonant chords (e.g. C+C#) ties may not be converted properly to MusicXML, and the now-untied following note may miss an accidental.

Version 2.3.7

  • Fixed: (xml2nwc) Rewrote the rests generation code to hopefully get it mostly right this time.

Version 2.3.6

  • Fixed: (xml2nwc) Whole rests are most often incorrectly converted to double-dotted halves
  • Fixed: (nwc2xml) Conversion from chords to voices can mess up lyrics placement.
  • Fixed: (nwc2xml) Subsequent chords can appear merged together in the resulting MusicXML file.
  • New: (nwc2xml) number="1" attribute is added to <beam> elements as MuseScore incorrectly ignores those elements if the optional number attribute is missing.

Version 2.3.5

  • Improved MusicXML 3.0 compatibility, validated DTD ordering of output files. Compatibility with MuseScore 2.0.

Version 2.3.4

  • Fixed: (nwc2xml) Title (movement-title) element is inserted at the wrong location in the XML structure
  • New: (nwc2xml) Tempo element is now supported

Version 2.3.3a

  • Fixed: (xml2nwc) Conversion fails with most xml files

Version 2.3.3

  • New: (xml2nwc) Better detection of incorrect Forward/Backup values that can (arguably rightfully) cause the converter to fail
  • New: (xml2nwc) Better tolerance on incorrect encoding of XML files
  • New: Better pre-detection of invalid files (pdf renamed as xml or mxl, non-MusicXML XML files, etc)
  • Fixed: (nwc2xml) NWC files without midi instrument set may fail to import

Version 2.3.2a

  • Fixed: (nwc2xml) Exception when processing Direction elements

Version 2.3.2

  • Fixed: (nwc2xml) 2-voices NWC chords can insert unwanted offsets in the XML score
  • Fixed: (nwc2xml) Some metadata tags don't respect the MusicXML DTD as the data is encapsulated in an extra value node.

Version 2.3.1

  • Disabled support for pitch/alter because of very limited usefulness and useless accidental alterations introduced. Proper support (when accidental tag is absent) would require full tonality state to be kept for each measure during conversion. We don't know any MusicXML software producing pitch-altered notes without inserting an accidental node.

Version 2.3

  • Fixed: (xml2nwc) On multi-staff parts, slurs and tie from one staff may be applied to other staves too.
  • Workaround: (xml2nwc) Sybelius-exported XML files may miss some <voice> information on some <note> tags. New code to try to figure out the correct voice.
  • (xml2nwc) Passed the whole Lilipond MusicXML test suite on the converter and fixed several small issues
  • Fixed: (xml2nwc) Flat-flat isn't converted
  • New: (xml2nwc) Support for "pitched" rests
  • New: (xml2nwc) Partial support for "Long" and "Breve" note types (converted to tied wholes)
  • New: (xml2nwc) Partial support non-traditional key signatures (but not double sharp or double flat)
  • New: (xml2nwc) Support for all noteheads supported by NWC
  • Fixed: (xml2nwc) Chords are often missing one or more notes.
  • New: (xml2nwc) Support for different lyrics on each staff of a multi-staff measure
  • New: (xml2nwc) Support for different key signature on each staff of a multi-staff measure
  • New: (xml2nwc) Support multi-measure rests

Version 2.2.3

  • New: (xml2nwc) When decoding XML files, if the file contains invalid/corrupted UTF-8 characters, the invalid characters are stripped and decoding is attempted again

Version 2.2.2

  • Added: (nwc2xml) more validity checks on nwctxt data
  • Fixed: a few lines didn't pass PHP 5.4 strict standards and issued warnings

Version 2.2.1

  • Added: (xml2nwc) Transposition support for MusicXML to nwctxt conversion. The reverse operation was already supported.
  • Various minor fixes

Version 2.2

  • Implemented converter from nwctxt to MusicXML
  • Fixed: (xml2nwc) Octave-shift on key is not handled correctly
  • Fixed: (xml2nwc) Extra spaces are added between lyrics syllable
  • Fixed: (xml2nwc) Lyrics:Never is set on slurred notes
  • Added support for fermatas

Version 2.1.0

  • Tremendous improvement in lyrics alignment with the correct note.
  • Support for compressed MusicXML files (*.mxl)

Version 2.0.5

  • New: MusicXML part-name, part-name-display and part-name-abbreviation elements are handled respectively as "staff name", "staff label" and "abbreviated".

Version 2.0.4

  • Server-side changes to (hopefully) help IE8 handle downloads

Version 2.0.3

  • Fixed: Beams are missing

Version 2.0.2

  • Modified the way the .nwctxt file is offered to the user, to help with Internet Explorer 8 blocking the download

Version 2.0.1

  • Fixed: Occasional second or third lyric line may prevent the converter from completing the operation
  • Fixed: Undefined empty measures in MusicXML may generate incorrect rests

Version 2.0

  • Rewritten as a server-side code for online processing, no need to install anything anymore
  • No need for NWC to be open or installed on the machine where the converter is used
  • The converter now generates a full .nwctxt file that can be open in NWC 2.5+
  • The offline, .NET version is not maintained and will not be available anymore
  • Support for multiple lines of lyrics (thanks to Phil Holmes)

Version 1.12

  • Completely empty measures are filled with visible rests. Fixed a crash when the XML file just can't be read

Version 1.11

  • Manifest update for better Vista compatibility

Version 1.10

  • Fixed: Comment tag in the middle of a <measure> element in xml file may introduce backward-repeat barlines to be moved to next measure. SharpEye creates such a comment on new systems marks.

Version 1.09

  • Fixed: No Staves information in the XML file will result in no data being converted. Defaulting to 1 stave when no information is present, as defined in the MusicXML dtd. (thanks to J.D. Zuurmond for the report)

Version 1.08

  • New: Support for rests in tuplets. Better handling of rests duration when the Type subnode is present.

Version 1.07

  • Fixed: Extra rests are appended to the first staff in measures containing <forward> tags when converting from SharpEye-generated XML files

Version 1.06

  • Fixed a possible infinite loop while trying to find the correct rest value to fill an incomplete measure

Version 1.05

  • Fixed a typo crashing the converter

Version 1.04

  • Fixed: Time signature is almost never converted from SharpEye-generated XML files.

Version 1.03

  • Fixed: Tenuto, Staccato and Accent processing on chords

Version 1.02

  • New: Implemented proper barlines processing.
  • New: Implemented Special Endings.
  • Fixed Graces Notes processing.
  • Fixed Stems direction (but not non-default stem length yet)
  • Optimized the data transfer to NWC
  • Fixed: Tenuto, Staccato and Accent processing

Version 1.01

  • New Replaced quarter, half and full invisible rests by no-head short-stems muted invisible notes - better look in NWC itself, no change when printing (thanks to Tina)
  • Fixed: Rest-filling problem for a very particular voice pattern. The problem was happening in the last measure of the Elite test file.

Version 1.0

  • Still a desktop program requiring the Microsoft .Net Framework
  • New: Voiced chords and separate voices are now translated properly, in separate layered staves.

Version 0.10

  • Fixed: Some precision is lost during rest duration calculation, resulting in incorrect rest values (double-dotted rests intead of full ones)

Version 0.9

  • Basic support for unpitched notes (automatic X notehead)

Version 0.8

  • Tested and adapted for Windows98. Added a File/Open dialog

Version 0.7

  • New: Postponed the check for NWC

Version 0.6

  • Fixed: The program needed to connect to the internet

Version 0.5

  • New User interface and automatic transfer to NWC

Version 0.4

  • Fixed: Chords and incorrect rest values
  • Removed Note Stems as they cause problem with NWC. Use Tools/Audit Note Stems in NWC after import

Version 0.3

  • Support for Chords

Version 0.2

  • Support for Bar Styles and repeats
  • Support for Wedges (Cresc/Dimin)
  • Support for Dynamics (p,f, etc)
  • Support for Articulations (staccato, etc)

Version 0.1

  • Desktop program requiring the Microsoft .Net Framework
  • Support for major elements: notes (pitch, length, triplets), rests, single bars, clef, time signature, key