Sheetmusic4J for Java & JavaFX

Parse and render sheet music in Java(FX).
No WebView required.

No release yet...

Get Started View on GitHub

Sheetmusic4J is an open-source Java library that parses MusicXML into Java objects and renders them as native JavaFX music sheet views — no WebView, no browser engine, no JavaScript bridge.

Quick start

Sheetmusic4J requires Java 21 or higher and is available from Maven Central. Add the fxviewer dependency (it includes the core library):

<dependency>
    <groupId>com.sheetmusic4j</groupId>
    <artifactId>fxviewer</artifactId>
    <version>${sheetmusic4j.version}</version>
</dependency>
implementation("com.sheetmusic4j:fxviewer:$sheetmusic4jVersion")
implementation "com.sheetmusic4j:fxviewer:${sheetmusic4jVersion}"

Then load a file and drop the view into your scene:

TODO

Why Sheetmusic4J

Native JavaFX rendering
Drawn straight to a JavaFX Canvas. No browser, no JS bridge. It’s just a Node.
Parse & generate
Read MusicXML into typed Java objects, and write valid files back out.
Modern, minimal Java
Built on Java 21 LTS with Records — a small, maintainable codebase.
Lightweight & offline-first
Needs only javafx.graphics. Fast startup, tiny jlink footprint, no network.

The sources of this project are available on github.com/sheetmusic4j/sheetmusic4j.