Welcome to the Firefox codebase!

This page is here to help you get from “I want to build Firefox” to “I’m building my own Firefox” to “I can contribute to Firefox”. So if you’d like to help Mozilla build the best web browser in the world, you’re in the right place.

Need help?

The Mozilla community prides itself on being an open, accessible, and friendly community for new participants. If you have any difficulties getting involved or finding answers to your questions, please come and ask your questions in our chatroom, where we can help you get started.

We know even before you start contributing that getting set up to work on Firefox and finding a bug that’s a good fit for your skills can be a challenge, and we’re always looking for ways to improve this process: making Mozilla more open, accessible, and easier to participate with. If you’re having any trouble following this documentation, or hit a barrier you can’t get around, please join us in the the Introduction room on Matrix or contact Mike Hoye directly at mhoye@mozilla.com.

What skills do I need?

Mozilla is a large project and we are thrilled to have contributors with very diverse skills:

  • If you know C++, Rust, JavaScript, HTML or CSS, you can contribute to the core layers of Firefox and many other Mozilla projects.

  • If you know Rust, you can also contribute to the Rust programming language itself, and Servo, the web browser engine designed for parallelism and safety.

  • If you know Java, you can contribute to Firefox on Android, Firefox Focus for Android .

  • If you know Kotlin, you can contribute to Firefox Preview (code name: “Fenix”).

  • If you know Swift, you can contribute to Firefox for iOS and Firefox Focus for iOS

  • If you know Python, you can contribute to our web services, including Firefox Sync and Firefox Accounts

  • If you know Make, shell, Perl, or Python, you can contribute to our build systems, release engineering, and automation

  • If you know C, you can contribute to NSS, Opus, and Daala

  • There are even many ways to contribute to the Mozilla mission without programming. If getting involved in design, support, translation, testing, or other types of contributions sparks your interest please see the Volunteer Opportunities wiki or the Mozilla community site.

Perhaps you do not know programming yet, but you want to start learning? There are plenty of resources available on the MDN Web Docs!

Read on for information about how to set up your machine to build Firefox.