---
name: "mscore"
section: "1"
platform: "linux"
package: "musescore"
version: "4.7.5-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/mscore"
---

# mscore(1)

MuseScore 4 sheet music editor

## NAME

**mscore**, **musescore** – MuseScore 4 sheet music editor

## SYNOPSIS

**mscore** \[**-deFfhIiLmnOPRstvw**\] \[**-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*\] \[**-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**\] \[**--template-mode**\] \[**--test-mode**\] \[**--transpose**\] \[**--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:

- **-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.

- **-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 Bravura as 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

- **--template-mode**

  Save files in template mode (e.g. without page sizes)

- **--transpose**

  Transpose the given score (only if the -o option is also set), then exports the given file in accordance with the -o option

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

### Batch conversion job JSON format

The argument to the **-j** option must be the pathname of a file comprised of a valid JSON document honouring the following specification:

- 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.

  - transpose

    Value is a JSONString with the transposing options. Optional.

- 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)

  - mscz

    MuseScore File

  - mscx

    MuseScore Uncompressed File

  - mscs

    MuseScore Uncompressed 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

- SKIP\_LIBJACK

  Set this (the value does not matter) to skip initialisation of the JACK Audio Connection Kit library, in case it causes trouble.

- 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.

## FILES

*/usr/share/mscore-4.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.

The per-user data (extensions, plugins, soundfonts, styles, templates) and files (images, scores) are normally installed into subdirectories under *$XDG\_DOCUMENTS\_DIR/MuseScore3/* 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.

## EXAMPLES

Convert a score to PDF from the command line:

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

Transpose, then convert a score to PDF from the command line:

```
-o 'My Transposed Score.pdf' --transpose '{"mode": "by_interval",
"direction": "up", "transposeInterval": 12,
"transposeKeySignatures": true}' 'My Score.mscz'
```

Transpose to another score from the command line:

```
-o 'My Transposed Score.mscz' --transpose '{"mode": "diatonically",
"direction": "down", "transposeInterval": 3,
"useDoubleSharpsFlats": true}' '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": "Reunion.mscz",
    "out": "Reunion-transposed.mscz",
    "transpose":
	{
	  "mode": "by_interval",
	  "direction": "up",
	  "transposeInterval": 12,
	  "transposeKeySignatures": true
	}
  },
  {
    "in": "Reunion.mscz",
    "out": "Reunion-transposed.pdf",
    "transpose":
	{
	  "mode": "diatonically",
	  "direction": "down",
	  "transposeInterval": 2,
	  "useDoubleSharpsFlats": true
	}
  },
  {
    "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).

*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.

## SEE ALSO

[fluidsynth(1)](/fluidsynth/1.md), [midicsv(1)](/midicsv/1.md), [timidity(1)](/timidity/1.md), [qtoptions(7)](/qtoptions/7.md)

- *https://handbook.musescore.org*

  Online Handbook, full user manual

- *https://musescore.org/forum*

  Support Forum

- *https://handbook.musescore.org/appendix/command-line-usage*

  Further documentation of command line options

- *http://doc.qt.io/qt-5/qguiapplication.html#supported-command-line-options*

  Documentation of automatic Qt command line options

## 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)

- SMuFL (Standard Music Font Layout 1.4)

## HISTORY

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

## AUTHORS

MuseScore is developed by MuseScore Limited.

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.

## BUGS

MuseScore does not honour */etc/papersize*.

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