The work these tools are built on, and the terms it carries.
These tools are built on work other people gave away. This page credits it and records the licence terms we are bound by.
Last updated: 30 July 2026
The converter's WebAssembly module is compiled from the following libraries. All three run in your browser; none of them sends your audio anywhere.
| Library | Version | Purpose | Licence |
|---|---|---|---|
| LAME | 3.100 | MP3 encoding | LGPL-2.1 |
| FLAC (libFLAC) | 1.4.3 | FLAC encoding and decoding | BSD-3-Clause (Xiph.Org) |
| r8brain-free-src | 7.2 | Sample-rate conversion | MIT |
r8brain bundles its own FFT implementations: Ooura's FFT, used under the author's permission grant, and PFFFT under a BSD-style FFTPACK licence.
We use LAME unmodified, statically linked into the WebAssembly module your browser downloads. Because that module contains LGPL-2.1 code, you are entitled to the source it was built from and to the means of rebuilding it.
The source is LAME 3.100 exactly as published at lame.sourceforge.io, SHA-256 ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e. We changed none of its code. The build differs from a stock ./configure in exactly two defines, both disabled so the same source compiles identically for WebAssembly as for a native machine:
HAVE_XMMINTRIN_H — off, which selects LAME's plain-C path instead of its x86 SSE routines. WebAssembly has no equivalent, and using one code path on both targets is what lets us verify the encoder produces identical output in each.HAVE_IEEE854_FLOAT80 — off, because x86 80-bit extended floating point has no WebAssembly equivalent.Nothing else is altered. Anyone with the tarball above, those two changes and the pinned compiler can reproduce the module we serve.
If you want the exact build configuration or have trouble reproducing it, email info@codeofthegeeks.com and we will send you the configuration file and build scripts.
The normalizer contains no vendored libraries, but its limiter is derived from other people's work — and that lineage matters more than the absence of a dependency.
| Component | Origin | Licence |
|---|---|---|
| Hyrax limiter | jasper046/reaper_js_effects, our own public JSFX repository | GPL-3.0 |
| — itself ported from | Matchering by Sergey Grishakov | GPL-3.0 |
The limiter that keeps this tool from clipping is a C++ port of our JSFX hyrax_limiter, which is in turn a port of the Hyrax limiter from Matchering. Its timing constants are Matchering's values, and its gain envelope works in Matchering's "flipped" reduction domain. The algorithm is not ours; the credit belongs to Sergey Grishakov.
Our loudness measurement is separate and is our own implementation of ITU-R BS.1770-4 / EBU R128 — published standards rather than software, so there is no code to credit there, though the JSFX K-weighting coefficient derivation was our reference for it.
Because Matchering is GPL-3.0, so is our JSFX repository, and the port carries the same terms. The corresponding source for the limiter is public at jasper046/reaper_js_effects.
| Component | Version | Purpose | Licence |
|---|---|---|---|
| Bootstrap | 5.3.3 | Layout and components | MIT |
| Bootswatch Lux theme | 5.3.3 | Visual theme, by Thomas Park | MIT |
| Noto Sans | — | Typeface, by Google | SIL Open Font License 1.1 |
| Caddy | — | The web server delivering this page | Apache-2.0 |
| GoAccess | — | Visitor statistics from our own server logs | MIT |
Fonts and stylesheets are served from our own server, never from a third-party CDN — which is also why using these tools does not expose you to anyone else's tracking.
Not software, and not licensed to us, but worth naming because the tools claim to follow them: ITU-R BS.1770-4 (loudness measurement), EBU R128 (loudness normalisation), ISO/IEC 11172-3 (MP3), and the FLAC format specification.
If you believe we have used your work without proper credit, or credited it wrongly, please email info@codeofthegeeks.com. We will fix it.