Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Jfxr is a browser-based tool to generate sound effects, for example for use in games. It was inspired by bfxr, but aims to be more powerful and more intuitive to use.

Start using it right now at


Can I use these sounds commercially?

Yes! Any sound you create with jfxr is entirely yours, and you are free to use it in any way you like, including commercial projects.

Is attribution required?

Attribution is not required, but I would really appreciate if you could link back to jfxr in some way. I would also be delighted if you send me a link to your creation!

How does it compare to sfxr/bfxr?

Compared to bfxr, the only missing feature is the mixer (which mixes multiple generated sounds together). There is an open issue to address that. Some filters also have a slightly different meaning, most notably the bit crunch, which is a real bit crunch rather than a downsample.

What are the system requirements?

Jfxr has been tested on the latest Chrome and Firefox, on Linux and OS X. In other modern browsers, I guarantee that the sliders will look broken, but hopefully everything else will still work.

Reporting bugs

Please report any issues you find to the issue tracker on GitHub.

Technical details

Jfxr uses Angular.js for its UI and module dependency management. It relies on several modern web technologies: WebAudio, canvas2d, local storage and of course CSS3.


To assemble the JavaScript files into a runnable whole, you need Node.js installed.

To install the development dependencies, run:

cd app
npm install

Then, to build the app:

npm run build

This produces output in the app/dist directory, which can be used locally or copied to a webserver.

Use as a library

The sound synthesis code can be used as a standalone library. To build it separate from the app:

cd lib
npm install
npm run build

This produces an npm package in the lib/dist directory, which can be used as-is or published to the npm registry.

For development, there is also a script to continuously rebuild on change:

npm run watch

For further details, see lib/ or the documentation on


The code itself is under a three-clause BSD license; see LICENSE for details.

Any sound effects you make are entirely yours to do with as you please, without any restrictions whatsoever.


A browser-based tool to create sound effects for games.



No packages published