Why settle for a basic build of your Firefox browser on Windows Operating Systems when you can have one that performs 25% faster? Mozilla does not provide optimized browser packages for Windows, while many Linux ("from scratch") users get the advantage of a browser built specifically for their system. That needs to change! So, here is the Pale Moon project: Custom-built and optimized Firefox browsers for Windows Operating Systems. Make sure to get the most speed out of your browser.

Of course, getting a faster browser is not just about optimizing the compilation process (building a program from its source code), but also about carefully choosing features and how to choose the best setup. This means that this browser, however extremely close to Firefox, does not have all the functions that Firefox has. A few, carefully selected, features have been disabled that are not in high demand, and that do not interfere with the way web pages are displayed or function; all to maximize speed and efficiency of the browser. Please see the page with technical details to learn exactly what the browser supports, and what it doesn't support. In short, if you need accessibility features or parental controls, then please visit the firefox homepage and get the official, non-optimized build.


  • Highly optimized for current processors
  • 100% Firefox sourced: As safe as the browser that has seen years of development.
  • Uses slightly less memory because of disabled redundant and optional code
  • Significant speed increases for page drawing and script processing
  • Support for SVG and Canvas
  • Support for Firefox extensions, themes and personas

What's New Release Notes:

  • This is a small update to back out the changes to handling of flex containers in 31.3.0 since it caused severe usability issues on several websites.

31.3.0 Release Notes:

  • This is a major development, bugfix and security release.


  • Implemented .at(index) JavaScript method on built-in indexables (Array, String, TypedArray).
  • Implemented the use of EventSource in workers.
  • Enabled the sending of the Origin: header by default on same-origin requests.
  • Changed how Pale Moon is built. We are now using Visual Studio 2022 on Windows, and have made build system changes to reduce build times and pressure on the linker on all platforms.
  • Changed how Pale Moon handles standalone wave audio files (.wav). See implementation notes.
  • Improved string normalization.
  • Updated the handling of CSS "supports" to now accept unparenthesized strings (spec update).
  • Updated the handling of flex containers in web pages for web compatibility.
  • Fixed various issues when building for Mac OS X.
  • Fixed various C++ standard conformance issues in the source code.
  • Fixed several issues building on SunOS and Linux with various configurations and gcc versions.
  • Fixed an issue with regular expressions' dotAll syntax and usage. See implementation notes.
  • Switched custom hash map to std::unordered_map where prudent.
  • Cleaned up and updated IPC thread locking code.
  • Removed spacing for accessibility focus rings in form controls to align styling of them with expected metrics.
  • Removed the unnecessary control module for building with non-standard configurations of the platform.
  • Removed the -moz prefix from min-content and max-content CSS keywords where it was still in use.
  • Security fixes: CVE-2022-40956 and CVE-2022-40958.
  • UXP Mozilla security patch summary: 2 fixed, 11 not applicable.

Implementation notes:

  • Pale Moon would previously send standalone wave audio files (.wav) to the system-configured media player if they would be opened standalone (i.e. not inside a HTML element in a page). This was done due to the historical use of rather exotic codecs in .wav files that would not be broadly supported in the browser. In the current day, however, this is much less of a concern. If you prefer to retain the old behavior and send .wav files to whatever the configured system media player is, then you should set the preference media.wave.play-stand-alone to false in about:config.
  • There was a spec compliance issue with the dotAll regular expression implementation, causing it to not work properly. Specifically, using the new RegExp() constructor would not accept "s" as a flag, and the .dotAll property was not cased properly (all lowercase) causing compatibility issues.