MSCORE(1)

πŸ“¦
version 3.7.0-unstable-2026-10 Β· 2 versions
, in nixpkgs unstable

okay bestie, welcome to MSCORE(1) from the General Commands Manual β€” home of mscore / musescore, aka the MuseScore 3 Evolution sheet music editor. grab a snack, we're going through every flag. ✨

🌸 NAME 🌸

mscore, musescore β€” MuseScore 3 Evolution sheet music editor. periodt. πŸ’–

✨ SYNOPSIS ✨

here's the summoning circle, bestie:

mscore [-deFfhIiLmnOPRstvw] [-a | --use-audio driver]
       [-b | --bitrate bitrate] [-c | --config-folder pathname]
       [-D | --monitor-resolution DPI]
       [-E | --install-extension extension file] [-j | --job file.json]
       [-M | --midi-operations file] [-o | --export-to file]
       [-p | --plugin name] [-u | --unroll-repeats file]
       [-r | --image-resolution DPI] [-S | --style style]
       [-T | --trim-image margin] [-x | --gui-scaling factor] [--debug]
       [--diff] [--dump-midi-in] [--dump-midi-out] [--experimental]
       [--export-score-parts] [--factory-settings] [--force] [--help]
       [--layout-debug] [--load-icons] [--long-version] [--new-score]
       [--no-fallback-font] [--no-midi] [--no-synthesizer] [--raw-diff]
       [--revert-settings] [--run-test-script] [--save-online]
       [--score-media] [--highlight-config] [--score-mp3]
       [--score-parts] [--score-parts-pdf] [--score-transpose]
       [--source-update] [--template-mode] [--test-mode] [--version]
       [file ...]

πŸ’– DESCRIPTION πŸ’–

MuseScore is a Free and Open Source WYSIWYG cross-platform multi-lingual music composition and notation software, released under the GNU General Public Licence (GPLv2). 🎼πŸ”₯

Running mscore without any extra options launches the full graphical MuseScore program and opens any files specified on the command line.

The options are as follows, and yes, we're listing every single one:

πŸŽ€ OPTIONS πŸŽ€

  • -a, --use-audio driver β€” use audio driver: one of jack, alsa, portaudio, pulse. 🎧
  • -b, --bitrate bitrate β€” set MP3 output bitrate in kbit/s.
  • -c, --config-folder pathname β€” override configuration and settings directory.
  • -D, --monitor-resolution DPI β€” specify monitor resolution (override autodetection).
  • -d, --debug β€” start MuseScore in debug mode.
  • -E, --install-extension extension file β€” install an extension file; soundfonts are loaded by default unless -e is also specified.
  • -e, --experimental β€” enable experimental features, such as layers.
  • -F, --factory-settings β€” revert all settings, shortcuts, workspaces, extensions, translations, etc. to factory defaults; compare with the -R option.
  • -f, --force β€” ignore score corruption and version mismatch warnings in β€œconverter mode”.
  • -h, --help β€” display an overview of invocation instructions.
  • -I, --dump-midi-in β€” display all MIDI input on the console.
  • -i, --load-icons β€” load icons from the filesystem; useful if you want to edit the MuseScore icons and preview the changes.
  • -j, --job file.json β€” process a conversion job (see β€œEXAMPLES” below).
  • -L, --layout-debug β€” start MuseScore in layout debug mode.
  • -M, --midi-operations file β€” specify MIDI import operations file (see β€œEXAMPLES” below).
  • -m, --no-midi β€” disable MIDI input.
  • -n, --new-score β€” start with the New Score wizard regardless whether it's enabled or disabled in the user preferences.
  • -O, --dump-midi-out β€” display all MIDI output on the console.
  • -o, --export-to file β€” export the given (or currently opened) file to the specified output file. The file type depends on the extension of the filename given. This option switches to β€œconverter mode” and avoids the graphical user interface.
  • -P, --export-score-parts β€” when converting to PDF with the -o option, append each part's pages to the created PDF file. If the score has no parts, all default parts will temporarily be generated automatically.
  • -u, --unroll-repeats file β€” saves the given (or currently opened) file to the specified output file. It unrolls repeats and appends .unrolled to the name of Ar file . This option switches to β€œconverter mode” and avoids the graphical user interface.
  • -p, --plugin name β€” execute the named plugin.
  • -R, --revert-settings β€” revert user preferences to factory default but retain shortcuts, workspaces, extensions, translations, etc.; compare with -F.
  • -r, --image-resolution DPI β€” set image resolution for conversion to PNG files.

Default: 360 DPI (actually, the value of β€œResolution” of the PNG option group in the Export tab of the preferences).

  • -S, --style style β€” load a style file first; useful for use with the -o option.
  • -s, --no-synthesizer β€” disable the integrated software synthesiser.
  • -T, --trim-image margin β€” trim exported PNG and SVG images to remove whitespace surrounding the score. The specified margin, in pixels, will be retained (use 0 for a tightly cropped image). When exporting to SVG, this option only works with single-page scores.
  • -t, --test-mode β€” set test mode flag for all files.
  • -v, --version β€” display the name and version of the application without starting the graphical user interface.
  • -x, --gui-scaling factor β€” scale the score display and other GUI elements by the specified factor; intended for use with high-resolution displays.
  • --diff β€” print a conditioned diff between the given scores.
  • --long-version β€” display the full name, version and git revision of the application without starting the graphical user interface.
  • --no-fallback-font β€” don't use a fallback musical font.
  • --raw-diff β€” print a raw diff between the given scores.
  • --run-test-script β€” run script tests listed in the command line arguments.
  • --save-online β€” upload score(s) to its source URL. There must already be an online score at that URL, and the user must be signed-in to the account it belongs to. The online score will be replaced with the uploaded file, but the title and description of the online score's webpage will not change.
  • --score-media β€” export all media (except MP3) for a given score as a single JSON document to stdout.
  • --highlight-config β€” set highlight to svg, generated from a given score.
  • --score-mp3 β€” generate an MP3 for the given score and export it as a single JSON document to stdout.
  • --score-parts β€” generate parts data for the given score and save them to separate mscz files.
  • --score-parts-pdf β€” generate parts data for the given score and export it as a single JSON document to stdout.
  • --score-transpose β€” transpose the given score and export the data to a single JSON file, print it to stdout.
  • --source-update β€” update the source in the given score.
  • --template-mode β€” save files in template mode (e.g. without page sizes).

MuseScore supports the automatic Qt command line options (see below). 🫢

🧚 Batch conversion job JSON format 🧚

okay, the argument to the -j option must be the pathname of a file comprised of a valid JSON document honouring the following specification, no cap:

  • The top-level element must be a JSONArray, which may be empty. ✨
  • Each array element must be a JSONObject with the following keys:
    • in β€” value is the name of the input file (score to convert), as JSONString. 🎡
    • plugin β€” value is the filename of a plugin (with the .qml extension), which will be read from either the global or per-user plugin path and executed before the conversion output happens, as JSONString. Optional, but at least one of plugin and out must be given.
    • out β€” value is the conversion output target, as defined below. Optional, but at least one of plugin and out must be given.
  • The conversion output target may be a filename (with extension, which decided the format to convert to), as JSONString.
  • The conversion output target may be a JSONArray of filenames as JSONString, as above, which will cause the score to be written to multiple output files (in multiple output formats) sequentially, without being closed, re-opened and re-processed in between.
  • If the conversion output target is a JSONArray, one or more of its elements may also be, each, a JSONArray of two JSONStrings (called first and second half in the following description). This will cause part extraction: for each such two-tuple, all extant parts of the score will be saved individually, with filenames being composed by concatenating the first half, the name (title) of the part, and the second half. The resulting string must be a valid filename (with extension, determining the output format). If a score has no parts (excerpts) defined, this will be silently ignored without error.
  • Valid file extensions for output are:
    • flac β€” Free Lossless Audio Codec (compressed audio)
    • metajson β€” various score metadata (JSON)
    • mid β€” standard MIDI file
    • midi β€” standard MIDI file
    • mlog β€” internal file sanity check log (JSON)
    • mp3 β€” MPEG Layer III (lossy compressed audio)
    • mpos β€” measure positions (XML)
    • mscx β€” uncompressed MuseScore file
    • mscz β€” compressed MuseScore file
    • musicxml β€” uncompressed MusicXML file
    • mxl β€” compressed MusicXML file
    • ogg β€” OGG Vorbis (lossy compressed audio)
    • pdf β€” portable document file (print)
    • png β€” portable network graphics (image)
      • Individual files, one per score page, with a hyphen-minus followed by the page number placed before the file extension, will be generated.
    • spos β€” segment positions (XML)
    • svg β€” scalable vector graphics (image)
    • wav β€” RIFF Waveform (uncompressed audio)
    • xml β€” uncompressed MusicXML file

See below for an example. πŸ‘€

🌿 ENVIRONMENT 🌿

okay bestie, these env vars are basically the vibe check for how mscore finds stuff and behaves:

  • SKIP_LIBJACK β€” set this (the value does not matter) to skip initialisation of the JACK Audio Connection Kit library, in case it causes trouble. it's the β€œjust in case it's being messy” switch πŸ’…
  • XDG_CONFIG_HOME β€” user configuration location; defaults to ~/.config if unset.
  • XDG_DATA_HOME β€” user data location; defaults to ~/.local/share if unset.
  • XDG_DOCUMENTS_DIR β€” location of works the user created with the application; defaults to ~/Documents (or a localised version) and can be set in $XDG_CONFIG_HOME/user-dirs.dirs.

Note that MuseScore also supports the normal Qt environment variables such as QT_QPA_GENERIC_PLUGINS, QT_QPA_PLATFORM, QT_QPA_PLATFORMTHEME, QT_QPA_PLATFORM_PLUGIN_PATH, QT_STYLE_OVERRIDE, DISPLAY, etc. Qt stays Qt-ing, yk? πŸ’™


πŸ“ FILES πŸ“

  • /nix/store/6rqrwqsdb43nz6lyr3qnfj6virssiv40-musescore-evolution-3.7.0-unstable-2026-10-27/share/mscore-3.7/ β€” contains the application support data (demos, instruments, localisation, system-wide plugins, soundfonts, styles, chords, templates and wallpapers). In the Debian packages, system-wide soundfonts are installed into /usr/share/sounds/sf2/, /usr/share/sounds/sf3/ or /usr/share/sounds/sfz/, respectively, instead.
  • $XDG_DOCUMENTS_DIR/MuseScore3/ β€” the per-user data (extensions, plugins, soundfonts, styles, templates) and files (images, scores) are normally installed into subdirectories under this path, but may be changed in the configuration. Note that snapshot, alpha and beta versions use MuseScore3Development instead of MuseScore3 in all of these paths.
  • $XDG_CONFIG_HOME/MuseScore/MuseScore3.ini β€” contains the user preferences, list of recently used files and their locations, window sizes and positions, etc. See above for development version paths.
  • $XDG_DATA_HOME/MuseScore/MuseScore3/ β€” contains updated localisation files downloaded from within the program, plugin information, cached scores, credentials for the musescore.com community site, session information, synthesiser settings, custom key and time signatures and shortcuts. See above for development version paths.

file paths are literally the map of the whole situation πŸ—ΊοΈβœ¨


πŸ§ͺ EXAMPLES πŸ§ͺ

Convert a score to PDF from the command line:

mscore -o 'My Score.pdf' 'My Score.mscz'

Run a batch job converting multiple documents:

mscore -j job.json

This requires the file job.json in the current working directory to have content similar to the following:

[
  {
    "in": "Reunion.mscz",
    "out": "Reunion-coloured.pdf",
    "plugin": "colornotes.qml"
  },
  {
    "in": "Reunion.mscz",
    "out": [
      "Reunion.pdf",
      [ "Reunion (part for ", ").pdf" ],
      "Reunion.musicxml",
      "Reunion.mid"
    ]
  },
  {
    "in": "Piece with excerpts.mscz",
    "out": [
      "Piece with excerpts (Partitura).pdf",
      [ "Piece with excerpts (part for ", ").pdf" ],
      "Piece with excerpts.mid"
    ]
  }
]

The last part of the job would, for example, cause files like β€œPiece with excerpts (part for Violin).pdf” to be generated alongside the conductor's partitura and a MIDI file with the full orchestra sound, whereas the equivalent part of the Reunion conversion will be silently ignored (because the Reunion piece (a MuseScore demo) has no excerpts defined). batch jobs ate and left no crumbs πŸ“

https://musescore.org/sites/musescore.org/files/midi_import_options_0.xml is a sample MIDI import operations file for the -M option.


🩺 DIAGNOSTICS 🩺

The mscore utility exits 0 on success, and >0 if an error occurs.

simple, iconic, no notes πŸ’›


πŸ‘€ SEE ALSO πŸ‘€

Please check first whether the bug you're encountering has already been reported. If you just need help with something, then please use the support forum (see above) instead. bestie, search first β€” it's the polite thing to do πŸ™ˆ


πŸ“š STANDARDS πŸ“š

MuseScore attempts to implement the following standards:

  • MusicXML 4.0 (score interchange format)
  • SF2 (SoundFont 2.01)
  • SF3 (SoundFont with OGG Vorbis-compressed samples)
  • SFZ (Sforzato soundfont)
  • SMuFL (Standard Music Font Layout 1.30)

standards icon behaviour, honestly 🌈


πŸ•°οΈ HISTORY πŸ•°οΈ

MuseScore was split off the MusE sequencer in 2002 and has since become the foremost Open Source notation software.

origin story lowkey legendary 🫢


πŸ‘‘ AUTHORS πŸ‘‘

MuseScore is developed by MuseScore BVBA and others.

This manual page was written by mirabilos <tg@debian.org>.


⚠️ CAVEATS ⚠️

The automatic Qt command line options are removed from the argument vector before the application has a chance at option processing; this means that an invocation like

mscore -S -reverse

has no chance at working because the -reverse is removed by Qt first.

⚠️ real talk: Qt snatches those args before mscore even gets a look. messy, but that's the rule 😭

πŸ› BUGS πŸ›

MuseScore does not honour /etc/papersize.

Probably some more; check the project's bug tracker (cf. β€œSEE ALSO”).

bugs are never the moment, but the tracker is there for you πŸ’…


Bye bestie! πŸ’– This was MSCORE(1) β€” source/version MuseScore, dated December 27, 2025. Go convert something iconic. 🫢✨

πŸ“¦ where this page comes from