This plugin provides two blocks for MusicXML usages: The ‘OSMD Sheet Music’ block brings OpenSheetMusicDisplay seamlessly to your WordPress site! This will allow you to render responsive MusicXML live in your visitors’ browser. It enables uploading of .xml, .musicxml and .mxl files to your WordPress
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 6.3 and PHP 7.0.0.
SourceWordPress plugins · Nov 15, 2026
01 / Source details
Aboutthistool.
This plugin provides two blocks for MusicXML usages:
01The ‘OSMD Sheet Music’ block brings OpenSheetMusicDisplay seamlessly to your WordPress site! This will allow you to render responsive MusicXML live in your visitors’ browser.
It enables uploading of .xml, .musicxml and .mxl files to your WordPress Media Library, which can then be selected in the block for rendering.
Music Braille is included in the free plugin: display Unicode braille music below the score or show braille alone. Optional layouts support keyboard music, ensemble scores and lyrics, with a translation view explaining the signs. These options work in both the block and the shortcode.
(We have also added a shortcode in this plugin for those who do not use the Gutenberg editor.)
02Additionally, as of 1.3.0 we have added another block: ‘OSMD QR Code’. This block allows you to deeplink your musicXML directly into our PracticeBird app via QR code, mobile icon, or both!
MusicXML Notation Support
This release includes OpenSheetMusicDisplay 2.2.1. In addition to notes, rests, chords, lyrics and tablature, the updated renderer supports:
Slurs across staves, such as between the two hands of a piano part.
Nested tuplets and tremolos between two notes.
Wavy trill extension lines.
Swing indications, complex metronome marks and metric modulation note equations.
MusicXML measure-repeat signs (simile/slashes) and part-group names and abbreviations.
Natural-sharp and natural-flat accidental combinations.
These markings are read from the selected MusicXML file and rendered with the score. The updated engine also improves score loading and rendering performance, with fixes for lyrics, dynamics, tablature and layout after resizing or changing zoom.
Default Settings and Styling
Open OSMD Settings in the WordPress admin menu to choose the default drawing options and zoom for new sheet music blocks and shortcodes that omit those options. Explicitly saved block settings and shortcode attributes keep their own values.
To style an individual block, use Advanced -> Additional CSS class(es) in the block editor and add the corresponding styles to your theme.
OSMD Sheet Music Block Options
The block has a number of options in the sidebar (Inspector Controls) described here.
Rendering
The section immediately below the block heading contains two controls related to re-rendering the sheet music.
Automatically Rerender on Change
Toggle, Default: Off When this is on, changes to the score settings (except for ‘Container Aspect Ratio’) trigger a re-render of the sheet music in the editor. Changes affecting only Music Braille regenerate the braille output without re-rendering the score.
This is not recommended for larger pieces of sheet music, as rendering can take time. It is best to do ‘batch’ updates with the settings and use the ‘Rerender’ button to manually preview the changes.
Rerender
Button This button is used to trigger a manual rerender of the sheet music in the currently selected OSMD block. This is particularly useful for updating the settings of larger pieces of sheet music that take longer to render.
Basic Options
This section contains basic options for the block: the musicXML file to render as well as some display options.
Select Media
Button/File Select, Default: None Selected This control shows the currently selected score above it (if there is one). The button ‘Select Media’ opens your WordPress Media Library in a modal window, which allows you to select previously uploaded MusicXML, or to upload one to select for rendering in the block.
NOTE: Selecting a new file will always trigger a render of the new file, no matter if “Automatically Rerender on Change” is selected or not.
Width (%)
Number Input, Default: 100 This control translates directly to the CSS width of the sheet music. What this means is that it controls the percentage of the parent container that the sheet music will take up. e.g. – If you have the OSMD block in a post set to 100%, it will fill the entire width of the post – If you have the OSMD block in a column layout of a post set to 100%, it will fill the entire width of that column
Container Aspect Ratio
Dropdown/Number Input, Default: Auto (No Scrollbar) This dropdown sets the aspect ratio of the sheet music container – The height in relation to the width. What this does pratically is add a scrollbar, which is useful with very long pieces that you don’t want to extend all the way down the page. – Auto (No Scrollbar) will render the full sheet music as-is, taking up as much room as needed. – Landscape makes the height 0.667x the width. Or, put another way, the width will be 1.5x the height (3:2) – Portrait sets the height to 1.778x the width. Width being 0.5625x the height (9:16) – Custom allows you to set your own value of what the width will be divided by to get the height.
NOTE: This control does not trigger or require a re-render since it is merely a CSS property of the sheet music container. It will be reflected immediately.
Zoom (%)
Number Input, Default: 100 This input allows you to control the zoom level of the rendered sheet music.
Drawing Options
These are additional OSMD drawing options – Whether to render certain parts of the sheet music.
Draw Title
Toggle, Default: On Whether to render the sheet music title.
NOTE: Draw Subtitle must be off for this to be reflected in the sheet music (currently).
Draw Subtitle
Toggle, Default: On Whether to render the sheet music subtitle.
Draw Composer
Toggle, Default: On Whether to render the sheet music composer.
NOTE: There seem to be some rendering issues in OSMD with this option if ‘Draw Lyricist’ is not off as well. We are working on this.
Draw Lyricist
Toggle, Default: On Whether to render the sheet music Lyricist.
Draw Metronome Marks
Toggle, Default: On Whether to render the tempo markings.
Draw Part Names
Toggle, Default: On Whether to render the part names before each stave.
Draw Part Abbreviations
Toggle, Default: On Whether to render the part abbreviations on subsequent music systems.
Draw Measure Numbers
Toggle, Default: On Whether to render measure numbers
Draw Measure Numbers Only at System Start
Toggle, Default: Off Whether to render measure numbers just at the start of new music systems.
Draw Time Signatures
Toggle, Default: On Whether to render time signatures on the staves
New Systems From XML
Toggle, Default: Off This determines whether system breaks specified in the MusicXML will be honored.
Music Braille
Open the Music Braille panel in the block sidebar and enable Show Music Braille . The remaining braille controls appear when it is enabled. All seven toggles default to Off.
Braille output is selectable Unicode text. It includes notes, rests, octave signs, key and time signatures, chords, voices, dynamics, articulations, ornaments, ties, slurs and repeats. Multi-staff scores are detected automatically; keyboard output includes hand signs.
Show Music Braille
Renders Music Braille below the sheet music in the editor and on the published page.
Hide Score (Braille Only)
Hides the printed sheet music and keeps the braille output visible. This can be combined with any braille layout.
Lyrics
Adds aligned word and music lines for vocal music, including multiple verses when present in the MusicXML.
Bar-over-bar (Keyboard)
Aligns the right-hand and left-hand music vertically, measure by measure. This option applies to multi-staff scores and has no effect on a single-staff score.
Ensemble
Produces aligned music for multiple instruments with instrument abbreviations and an instrument list. Enable it explicitly for ensemble scores; it has no effect on a single-instrument score.
Facsimile (Mirror Print Layout)
Includes clef and octave-shift signs. For a single-staff score, braille line breaks follow the rendered score’s system breaks. Keyboard, ensemble and lyrics layouts retain their own line grouping.
Show Translation (Sign Meanings)
Adds a translation view below the braille text, grouped by measure, explaining the musical meaning of the signs.
When combining layout options, Ensemble takes precedence for scores with multiple instruments, followed by Lyrics, then the multi-staff keyboard layout. Bar-over-bar aligns the keyboard layout; Facsimile adds its signs to the selected layout.
With Automatically Rerender on Change enabled, changes affecting only braille update its display without redrawing the score. With it disabled, click Rerender to apply queued braille settings.
OpenSheetMusicDisplay Shortcode Options
The shortcode has the same options as above. Attribute names can be written in camelCase or lowercase.
In the shortcode any Toggle attribute values are specified with true or false. Numeric values can be specified as float or integers.
To specify the musicXML you need to provide a URL; This can be copied from your Media center in WordPress when viewing the details of a file.
The shortcode is “opensheetmusicdisplay”. Example with drawing options: [opensheetmusicdisplay musicXmlUrl="http://url.com/wp-content/uploads/sites/2/2021/02/Beethoven_AnDieFerneGeliebte.xml" zoom="0.75" width="75" drawTitle="false" drawSubtitle="false" drawComposer="true" drawLyricist="true" drawMetronomeMarks="false" drawPartNames="false" drawPartAbbreviations="false" drawMeasureNumbers="true" drawMeasureNumbersOnlyAtSystemStart="true" drawTimeSignatures="true"]
It’s important to note that zoom is out of 1: so 1 = 100%, 0.75 = 75%, 2 = 200%, etc.
Music Braille Shortcode Attributes
Attribute Block control
brailleenabled Show Music Braille
braillehidescore Hide Score (Braille Only)
braillelyrics Lyrics
braillebaroverbar Bar-over-bar (Keyboard)
brailleensemble Ensemble
braillefacsimile Facsimile (Mirror Print Layout)
brailleshowtranslation Show Translation (Sign Meanings)
All braille attributes default to false . Set brailleenabled="true" to enable braille output; the other attributes customize it as described in the block options above.
Show braille alone with explanations of the signs:
This is a two-column post example with the OSMD block in the second column with zoom level set. Shows Basic options to the right.This shows the previous post on the public-facing side.This shows the media selector where you can choose MusicXML.This shows another post with various options set (75% width, no draw title, Portrait aspect ratio)
02 / Source details
Gettingstarted.
01Install the plugin via the WordPress Plugin installer. In the WordPress admin sidebar, navigate to Plugins -> Add New.
02WordPress Automatic Installation Search for its listing near the top of this page: “OpenSheetMusicDisplay”.
03Review the plugin information, reviews, details, etc.
04Click “Install Now” and WordPress will automatically install it.
or Manual Upload
05At the very top towards the left, select the “Upload Plugin” button.
06Select the zip file for this plugin.
07Click “Install Now”
Activate the Plugin
08In the WordPress admin sidebar, navigate to Plugins -> Installed Plugins
09Locate the “OpenSheetMusicDisplay” plugin in this list
10Select “Activate” beneath it
This plugin should also be available via the Gutenberg Block directory: 1. Navigate to a post where you want to add sheet music. 2. Click the “+” icon to add a new block 3. Select “Browse all” at the bottom of the block selection pop-up 4. in the search bar at the top of the side panel, type “musicxml” 5. Click “Add Block” on the “OpenSheetMusicDisplay” result
NOTE: If updating to version 1.0.0 from previous versions, you will need to “Attempt Recovery” on anywhere the block has been included. We have switched to server-side rendering, and this should now not happen with future updates.
03 / Source details
Frequently asked questions.
Where can I receive support for this block?
Please contact us at support@opensheetmusicdisplay.org
Is feature x, y, or z available? Will it be available?
We now have a premium add-on to our plugin available here: https://opensheetmusicdisplay.org/wp-plugin/pricing/ If you’d like: -Audio Player -Transposition -Performance Mode Rendering -Brand coloring (for playback buttons) -Premium Support
Please consider subscribing!
Why does the console mention global-styles-css-custom-properties-inline-css?
WordPress can log an iframe warning for its own global-styles stylesheet. This is a known upstream issue, independent of this plugin’s block API migration: https://github.com/WordPress/gutenberg/issues/76082 The plugin’s blocks use API version 3 and load their content assets through WordPress’s iframe-compatible APIs.
The message “[api-fetch][preload] All preloads consumed.” is informational output from WordPress, not a warning or rendering error.
FinderPress Media Auditor helps site administrators scan for broken images, missing Media Library files, unreachable media URLs, and other media issues across WordPress content. Use it to audit images, video, audio, PDFs, featured images, and attachment files without sending scan data to an external
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati