Expanded extension support in Firefox for Android Nightly

Dec. 12, 2023 UPDATE: Please see this post for the most updated information around extensions on Firefox for Android.

*************************************

A few weeks ago, we mentioned that we were working on increasing extension support in the Firefox for Android Nightly pre-release channel. Starting September 30, you will be able to install any extension listed on addons.mozilla.org (AMO) in Nightly.

This override was created for extension developers and advanced users who are interested in testing for compatibility, so it’s not easily accessible. Installing untested extensions can lead to unexpected outcomes; please be judicious about the extensions you install. Also, since most developers haven’t been able to test and optimize their extensions for the new Android experience, please be kind if something doesn’t work the way it should. We will remove negative user reviews about extension performance in Nightly.

Currently, Nightly uses the Collections feature on AMO to install extensions. You will need to create a collection on AMO and change an advanced setting in Nightly in order to install general extensions.

Create a collection on AMO

Follow these instructions to create a collection on AMO. You can name the collection whatever you like as long as it does not contain any spaces in the name. When you are creating your collection, you will see a number in the Custom URL field. This number is your user ID. You will need the collection name and user ID to configure Nightly in the following steps.

Screenshot of the Create a Collection page

Once your collection has been created, you can add extensions to it. Note that you will only be able to add extensions that are listed on AMO.

You can edit this collection at any time.

Enable general extension support setting in Nightly

You will need to make a one-time change to Nightly’s advanced settings to enable general extension installation.

Step 1: Tap on the three dot menu and select Settings.

Screenshot of the Firefox for Android menu

Step 2: Tap on About Firefox Nightly.

Screenshot of the Fenix Settings Menu

Step 3. Tap the Firefox Nightly logo five times until the “Debug menu enabled” notification appears.

Screenshot of About Firefox Nightly

Screenshot - Debug menu enabled

Step 4: Navigate back to Settings. You will now see a new entry for “Custom Add-on collection.” Once a custom add-on collection has been set up, this menu item will always be visible.

Screenshot - Settings

Step 5: Configure your custom add-on collection. Use the collection name and your user ID from AMO for the Collection Owner (User ID)  and Collection name fields, respectively.

Screenshot of interface for adding a custom add-on collection

Before

After

After you tap “OK,” the application will close and restart.

WebExtensions API support

Most of the WebExtensions APIs supported on the previous Firefox for Android experience are supported in the current application. The notable exceptions are the downloads.download (implementation in progress) and the browserData APIs. You can see the current list of compatible APIs on MDN.

Extensions that use unsupported APIs may be buggy or not work at all on Firefox for Android Nightly.

User Experience

The new Firefox for Android has a much different look and feel than Firefox for desktop, or even the previous Android experience. Until now, we’ve worked with the developers of Recommended Extensions directly to optimize the user experience of their extensions for the release channel. We plan to share these UX recommendations with all developers on Firefox Extension Workshop in the upcoming weeks.

Coming next

We will continue to publish our plans for increasing extension support in Firefox for Android as they solidify. Stay tuned to this blog for future updates!

26 responses

  1. Sanskar Shanker wrote on :

    I tried this and found that this is limited to like 25 add-ons right now? Is it because the AMO collection page shows 25 add-ons in one page? Please look it up.

    1. Caitlin Neiman wrote on :

      Thanks for noting this. You can add as many extensions to the collection as you would like, but Firefox for Android will only show the first page, and the first page was set to show 25 extensions. The engineers just increased it to show 50 extensions; that change should be reflected in an upcoming Nightly build.

  2. Andrew Ducker wrote on :

    Thank you for this!

  3. UserFoo wrote on :

    This method is not working for me. Every time I try to visit the “View My Collections” page on AMO, it fails to load and tells me there was a server error.

    1. Caitlin Neiman wrote on :

      Hi there. This sounds like an issue with AMO. Are you able to install any extensions from AMO on desktop?

  4. poopooracoocoo wrote on :

    To add to my other comment, what’s up with the search in collections? I tried to search for the External Video Player extension but it wouldn’t show up so I had to go to its page and add it from there. The 25 add-on limit is annoying as I can’t use another collection and have to curate my own.

    1. poopooracoocoo wrote on :

      *I’m using a desktop browser to create a collection

      1. Caitlin Neiman wrote on :

        Please see this comment: https://blog.mozilla.org/addons/2020/09/29/expanded-extension-support-in-firefox-for-android-nightly/comment-page-1/#comment-227143

  5. Someone wrote on :

    Not sure this is the right place to ask, but where do we suggest extensions to be added to the default collection? By now it contains all but one I would like to use (Redirect AMP to HTML)…

    1. e wrote on :

      https://wiki.mozilla.org/AMO/Featured_Board_Process#Mozilla_needs_your_help_selecting_recommended_extensions

      1. jesus2099 wrote on :

        There it says that “Every 6 months, a call will go out via the Add-ons Blog for volunteers to participate in choosing recommended extensions.” but I did not find any such calls yet: https://blog.mozilla.org/addons/category/featured-addons/

        1. Caitlin Neiman wrote on :

          We’re late on this! Thanks for your comment; we’ll be putting out a call for new board applications soon. 🙂

  6. Gelirhil wrote on :

    The two most powerful (IMHO) addons that are not listed in tested- stylus and tampermonkey – look to work normally. Great thanks, it returned my user experience!

  7. foxy_fire wrote on :

    I would like to sideload an extension that is not available in the AMO, but rather is available on the developer’s bitbucket page.
    How can I do that?

    1. Caitlin Neiman wrote on :

      Installing extensions not listed on AMO is not supported yet. This is on our radar for the future, though.

  8. Neo wrote on :

    Hey, when I click on add on section after creating collection I am getting failed to query add on.

    1. Caitlin Neiman wrote on :

      Hi Neo, sorry to hear that. You might want to share this on our community forums — we’ll be better able to help troubleshoot there. 🙂

      Link: https://discourse.mozilla.org/t/add-on-support-in-new-firefox-for-android/53488/105

  9. troway wrote on :

    Hi Caitlin,
    Thanks for all of your work- it is appreciated!
    Please provide the full disclosure as to any/all ways the user id + collection name may be used (please, in plain english for non technical users? TY!).
    Further, please explain how the new unique user id/collection name fits w/the historical, user-centered privacy-orientation of the organization and this browser?

    Finally, How does this name+number combination relate to the historical unique user (internal browser ID) of Firefox? I’m thinking it is derived & provided as it has been historically or we would have been alerted to changes- but just checking!

    Thanks in advance for your time. Again, these efforts are appreciated!

    1. Caitlin Neiman wrote on :

      Thanks, troway!

      We don’t collect any telemetry that uses the AMO user ID, and the AMO user ID and collection ID are not tied to your Firefox browser instance in any way. 🙂

      However, Your AMO user ID is tied to your Firefox Account. You can choose to tie your Firefox Account to your Firefox browser instance, but it doesn’t get reported to telemetry for privacy reasons.

      Hope this helps!

  10. y wrote on :

    How can I add an extension without creating an account? Is Mozilla able to remotely remove extensions from collections/amo, and will this automatically uninstall extensions from user browsers? Do you foresee Mozilla using this kind of control to eg fix compatibility problems? Are you planning to use information about collections used with nightlies to eg prioritize recommended extensions?

    I’d say the ability to create a named extension collection and load it to a browser looks like a nice feature, but enabling a way (debug menu setting? Any way at all) to install an arbitrary extensions from web without any Mozilla Corp involvement looks like a basic free software requirement that should be implemented first. Hopefully the solution won’t require to upload xpis to my user account and using collections…

    1. Jorge Villalobos wrote on :

      > How can I add an extension without creating an account?

      You can set up Fenix to use any public collection, not necessarily one of yours. The hard thing here is to find a collection with the extensions you want to install.

      > Is Mozilla able to remotely remove extensions from collections/amo, and will this automatically uninstall extensions from user browsers? Do you foresee Mozilla using this kind of control to eg fix compatibility problems?

      It possible for us to disable content on AMO, yes, but we only do that if it’s spam or considered unsafe for users. This doesn’t disable installed extensions, however. If an extension is removed from a collection being used in Fenix, it will change its state to unsupported but I think it remains enabled.

      > Are you planning to use information about collections used with nightlies to eg prioritize recommended extensions?

      We don’t collect data on the collections being used. We do track extension usage, so we have an idea of which non-Recommended extensions are being used most, which may inform future support choices.

      1. y wrote on :

        Can I set up my own extension collection server and point my browser to it? Is the API documented and stable?

      2. y wrote on :

        Also, thanks a lot for answering questions. Firefox is my long time favorite browser and I love the work and progress done over the years, but as many other people I’m worried by the restricting user experience and freedom, and the possibility of ending up another open-source corporate-controlled product. User client agency on the Web has been restricted and limited enough already, with the corporate arguments of user-friendliness, locking down for security, and protecting businesses. There’s got to be another way that let’s users both have a smooth safe and customizable browsing experience, and does not require either forking a whole browser or depending on a centralized service.

  11. Nick wrote on :

    Thanks for the information. May I ask why the option for installing other extensions is so deeply hidden and constrained? We’re talking about Firefox Nightly already, why is there no switch in the settings (with a proper warning) that enables installing any add-on from AMO?

    While I appreciate that Mozilla is constantly working on improving UX, I’m very, very sad and disappointed with the breaking changes introduced with Fenix. There was no warning at all. I upgraded as usual and a fair share of my add-ons was gone, including privacy-related proxy tools. In the default Firefox for Android, even about:config is gone!

    To me, the top reason for using Firefox has always been customization and the use of add-ons – without it, Firefox is no better than its competition. I feel like Mozilla is losing touch with its long-standing users.

  12. Marlon wrote on :

    So when will we finally get more add-ons in stable Firefox for Android? Amp2Html is really lacking here.

  13. Cristina wrote on :

    When it will be available on stable?