Skip to content
Get it free

WordPress plugin · by the OSMD team

Sheet music from MusicXML, right in your WordPress posts

Upload a MusicXML file, add the OSMD block, publish. The notes are drawn in your visitor's browser, so they reflow to fit a phone or a 4K screen. No screenshots, no PDFs.

Free on WordPress.org since 2021 · GPL-2.0 · source on GitHub

OSMD Sheet Music block, livePremium
75%

Loading OSMD…

Clementi, Sonatina Op. 36 No. 1, first movement: a 120 KB MusicXML file, rendered in your browser by OpenSheetMusicDisplay 2.2.1. Play, tempo and metronome are the premium add-on's playback.Samples: Musyng Kite (CC BY-SA 3.0) and FluidR3 by Frank Wen (CC BY 3.0), from midi-js-soundfonts; details.

Free on WordPress.org

Everything you need to publish sheet music

The free plugin gives you two blocks and a shortcode. Visitors need nothing installed: OSMD runs in any modern browser.

OSMD Sheet Music block

Pick a MusicXML file (.xml, .musicxml or .mxl) from your Media Library. Set the width, a scrolling aspect ratio for long pieces, and the zoom. Choose what to draw: title, composer, part names, measure numbers, tempo marks.

Music BrailleNew in 1.5

Unicode braille music under the score, or braille alone. Layouts for keyboard music (bar over bar), ensembles and lyrics, plus a translation view that explains every sign. Try the Braille button above.

A shortcode for every option

For classic themes and page builders: every block setting works as a shortcode attribute.

[opensheetmusicdisplay musicxmlurl="…/score.musicxml" zoom="0.75"]

OSMD QR Code block

Link a score straight into the free PracticeBird practice app: a QR code on desktop, an app icon on phones.

Site-wide defaults

Set drawing options and zoom once under OSMD Settings. New blocks start from them; blocks you already configured keep their values.

Premium add-on

Let visitors play, transpose and download

Premium is a separate plugin. Keep the free plugin installed, add premium next to it, and your OSMD blocks get a Premium Options panel and a toolbar under the score.

Audio playback

A cursor follows the notes as the score plays. Visitors set the tempo, the metronome and the volume of each instrument, and the page can scroll along. Try Play in the demo at the top.

Transposition

Transpose by semitone in the editor, or give visitors a control to change the key themselves. Playback follows the new key.

PDF and MusicXML downloads

Visitors save the score as a PDF in the key they chose, with the page format they need, or download the MusicXML file.

Sight Reading block

Generates a new exercise from key, time signature, length and difficulty. Switch on one setting and visitors can roll their own.

Embed Code block

Creates an iframe code, so a score hosted on your WordPress site can appear on any other website.

Your look

Colors for the control buttons, your logo inside PracticeBird QR codes, and sheet pane heights that fit your theme.

See plans and prices

From $12 a month, billed yearly, with a free 3-day trial. Email support from the people who build OSMD.

How it works

From file to published score in three steps

  1. Install

    In WordPress, go to Plugins → Add New and search for "OpenSheetMusicDisplay".

  2. Upload

    Add a .musicxml, .mxl or .xml file to the Media Library. MuseScore, Sibelius, Finale and Dorico all export MusicXML.

  3. Add the block

    Insert the OSMD Sheet Music block, select your file and publish.

Who builds it

Made by the people who maintain OSMD

We are PhonicScore, a music tech company in Vienna. Since 2016 we have built and maintained OpenSheetMusicDisplay, the open-source library that renders MusicXML in the browser with VexFlow. Each plugin release bundles a current OSMD version, and when you write to support, you reach the team that writes the renderer.

OSMD on GitHub →

OSMD on npm since
2016
GitHub stars for OSMD
1,990
npm downloads in the last 12 months
670k
OSMD is open source
BSD-3

Start with the free plugin

Add premium when you want playback, transposition or downloads.