The Content Blocking API that our Safari extension and Mac app use sets an upper limit of 50,000 on the number of filter rules Safari can process in one pass. If you see either of the following notices in Safari:


Rule list compilation failed: Too many rules in JSON array.

or

Please disable some filter lists. More information in AdBlock's Options.


it means that the total number of filter rules in all the filter lists you are subscribed to has exceeded the limit.


What happens if my filter lists put me over the limit?

Strictly speaking, you can ignore the notice if you want to. AdBlock collects all the rules in the filter lists you are subscribed to, dumps them into a file, and sorts them before sending the file to Safari. Hiding rules come first, then blocking rules, then whitelist rules. Any rules in excess of 49,999 are simply discarded. The sorting ensures that most of the blocking and hiding rules will probably make it to Safari.


This is highly dependent on which filter lists you have enabled, however. A large filter list like EasyList can easily consume most of that allowance. We want to make sure that you, not AdBlock's truncating algorithm, stay in control of your browsing experience. The notices are our way of recommending that you review your filter list subscriptions and decide whether there are any you can do without to stay under the limit.


Are you trying to fix this?

We're working to compress the content blocking file as much as possible. We also hope that Apple will increase the limit in future updates to Safari.


Related article

What's different after the September AdBlock for Safari extension update?