by supermedium

supermedium / beatsaver-viewer

⚔️ Web-based viewer for Beat Saver maps, built with A-Frame and JavaScript.

149 Stars 21 Forks Last release: Not found MIT License 197 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:


Web-based viewer for BeatSaver maps, built with A-Frame and JavaScript.


The viewer works within a normal web browser and can be embedded on any webpage. It can also be previewed within VR headsets on browsers that support VR (e.g., Supermedium).

Featured on BeastSaber and the unofficial Beat Saber Songs site!


You can visit or link the viewer directly.

Or if you have a site, you can I-Frame the viewer and pass a query parameter containing the song ID and difficulty:

To directly preview a BeatSaver ZIP file, use the

parameter in the URL:{zipURL}

Note the ZIP must be served with CORS header. An easy way to do this is to prepend

To directly link to a seeked time, use the

parameter in the URL (seconds):


  • Safari support (BeatSaver currently serves OGGs which are not supported)
  • Custom saber viewer


The BeatSaver viewer is an unofficial community project and not officially affiliated with Beat Saber.

It is adopted officially by the community on the Discord though, used as the official tool for sharing maps online and featured on BeastSaber:


Built with A-Frame, a web framework that we created for building VR experiences. And JavaScript.

npm install
npm run start

Then head to

in your browser.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.