ProPrivacy is reader supported and sometimes receives a commission when you make purchases using links on this site.

How to use the NoScript extension to gain privacy and security

NoScript is a privacy and internet security extension that is available for Firefox, Seamonkey and other Mozilla-based browsers - as well as Chrome. It is an extension that is considered a must-have by many privacy advocates. In this guide, we show you how it works and how to use NoScript.


NoScript works by blocking unnecessary and unwanted scripts on the pages that you visit. This can stop you from falling victim to exploits that leverage JavaScript and other potentially nefarious scripts. The types of things that you can block with NoScript includes ads, malicious scripts, and annoying pop-ups. 

We think NoScript is an excellent extension that is well worth taking advantage of. However, it does have a reputation for being a little trickier to use than many other privacy extensions. With that in mind, we have made this guide to help you get started with NoScript.

NoScript logo

How NoScript works

When you surf the web, websites load scripts to provide the visuals and functions associated with their pages. Depending on the nature of those scripts, some of them may install onto your browser client-side. 

Some scripts load directly from the pages that you visit, others come from third-party sites that are affiliated with the pages that you visit. Other scripts can be completely unwanted - such as malicious scripts that have been embedded into compromised websites by hackers.

NoScript is a free and open-source extension that stops JavaScript, Java, Flash, and other plugins from being executed by anything but trusted websites. The decision on which websites to trust is made by you, meaning that you have full control over which scripts load. 

NoScript also provides cross-site scripting (XSS) protection from inside your browser. These are common vulnerabilities caused by improper website implementation and developer errors, which result in hackers being able to inject malicious code from one site to another. Hackers use these vulnerabilities to steal your credentials and impersonate you on victimized sites. 

In addition, NoScript provides anti-Clickjacking protection called ClearClick. This ensures that you never click on any obscured or displaced on-screen items - that have been purposely designed to trick you by hackers. 

How to use NoScript

The first thing you need to do is download the NoScript extension into your Firefox or Chrome browser. Once it has downloaded and installed, you are ready to start using it. Although the permissions for NoScript may seem a bit full-on, it is worth bearing in mind that NoScript does need to be able to read your data and data on the websites you visit in order to perform its job. 

With NoScript installed you are ready to begin using it. The first thing you need to do is head over to a website that you commonly use. We visited CNN for the sake of making this guide, and, as expected, the page did not load properly because of the scripts that were blocked. 

NoScript browser addon

By default, NoScript tends to block all scripts. This means that websites may initially seem to be broken. If a website doesn’t load everything you require - and does not function as you would expect - then it is going to be necessary to unblock the particular scripts that are required to enjoy the page and its contents. 

In this guide, we will walk you through unblocking the necessary contents to get CNN working. However, these steps are the same for any website that you visit. Start by clicking on the NoScript icon in your extensions toolbar to see which scripts are being blocked by the extension.

NoScript showing trusted and untrusted sites

To make, CNN work, we are going to need to alter the setting for from untrusted to trusted. This is achieved by clicking on the blue S to the left of the URL that you are interested in. 

add a site as a trusted website

Once you have set the website you are visiting to Trusted, you can click the green refresh button to reload the website. The website should now load without issues - because the necessary scripts are available.

Adding as a trusted service

As you can see in the screenshot above, we left and blocked by NoScript, because these are not essential services (they are third-party trackers). With the page refreshed, we were able to begin using the CNN website without issues. The same will be true for any other website you visit.

After the page loads properly with the unwanted tracking scripts still blocked in the extension, extra scripts will begin to appear. For us, these only loaded when we disable blocking on CNN (which is why NoScript is now blocking these separately now). These scripts can be left blocked as they are not necessary for enjoying CNN, and the same is true for any unnecessary scripts that may appear on the websites that you use.

adding a website as trusted source

In the image above, you can see that the only script we are currently permitting to load is, which is showing with a green lock next to the URL. This green lock demonstrates that this script is unlocked. 

Now that the CNN website is loading correctly, we visit one of the articles to see if any other scripts might be needed. The article that we visited was supposed to include a video, but it was not loading. A quick glance at NoScript revealed that the extension had blocked another CNN script, this time coming from a server at the URL:

showing blocked sites is the only CNN address appearing on our list, making it obvious that this is the script that requires our attention. To fix the issue, we went ahead and set this address to Trusted, allowing the video to load on the page.

when ccn set to trusted other cnn source is also trusted

With both CNN scripts now set to Trusted, our job setting up this website is done. Every time we visit this page from now on, the extension will behave as wanted and only block unnecessary scripts that are not needed for the site to function.

Unfortunately, full control comes at the expense of convenience, meaning you will have to repeat this process for every single website that encounters loading issues when you visit. The bright side is that it only needs to be done once per website and the advantages are massive - allowing you to visit websites without loading unwanted trackers, and potentially harmful scripts that allow cybercriminals to hack you.  

Admittedly, the amount of scripts that load on a page may make it confusing from time to time, prompting you to have to use trial and error when seeking out a script that you want to block. Thankfully, NoScript has other features that can protect your privacy as you do.

Other important settings

Although setting scripts to Trusted or Untrusted is the primary method of using the NoScript extension, it is worth understanding some more of its features to better protect yourself. 

If you are unsure what you need to unblock, you can opt to trust them temporarily with a Temp.Trusted tag and refresh the page to test them. This ensures that if you set something to trusted and forget about it, it will not affect your privacy and security on a permanent basis.

a lot of scripts which stop users from playing video

On the UK news website, we found that videos would not load with only the URL set to Trusted. A quick glance at the list made it very difficult to see which of the scripts was needed to make the video available. 

As is always the case when using NoScript, we had to test each script one by one to discover which script we required. In the image above you can see that we set a script coming from the URL to Temp.Trusted

The temporarily trusted setting is extremely useful because it lets you use trial and error without making any permanent decisions. When you restart your browser, NoScript will automatically revert any Temp.Trusted scripts to default blocked. 

When we refreshed the page with the script enabled - the video loaded. For this reason, we went ahead and changed it from Temp.Trusted to Trusted. This ensures that this script will be trusted next time we visit the site. 

gstatic a font loading script

Some scripts are whitelisted by NoScript and will automatically be set to Trusted for various reasons. is an example in our case, being a font loading script that is a known requirement for websites to work. You can trust these scripts and don't need to do anything with them, however, the rest can remain Default or Untrusted.

Global settings

In addition to the trust settings situated to the left of each individual script, NoScript provides global settings in the top right. These can be used to set all the scripts on a website to Trusted, Untrusted, or to Temp.Trusted.

trusted, untrusted, or temp.trusted options

Using the global setting is a quick and easy way to make a website work if NoScript is breaking it when you need access. However, it is worth noting that making all the scripts on a page permanently Trusted means that NoScript is not providing you with any benefits when you visit that page. 

For this reason, we generally recommend taking the time to only trust individual scripts. If you do opt to use global settings, it is better to trust the page temporarily, so that it resets back to default block next time you visit the website. That way, if you have time in the future, you can set up the website properly by only trusting scripts that are essential to running the page. 

Another interesting setting is the Disable restrictions for this tab. This allows you to disable NoScript so that you can access all the features on a webpage, but only within the tab that you are using. Similarly to the Temp.Trust feature, this ensures that the next time you visit the webpage, NoScript will go back to default blocking all scripts. 

Custom settings

For advanced users, there is the option to use NoScript to unblock specific individual elements on the domains they visit. This allows users to unblock individual scripts rather than the entire domain. Custom unblock allows users to unblock elements that are split into eight different categories: script, object, media, frame, font, webgl, fetch, and other. You can see these options in the image below.

custom settings

In our example, all the possible options are currently set to allow, because is a domain that we have previously set to trusted.

Generally, most users will not want to use this advanced feature. However, anybody who has a deeper understanding of what is being loaded on the web pages they visit can use this feature to customize NoScript even further. 

For anybody who wants to use the custom feature to learn how to block individual web page elements - custom can be used on a temporary basis. This means that NoScript will revert back to default when you restart your browser. This will allow you to test custom settings without concern that they will be permanent. 

NoScript Options

Finally, it is possible to set up certain NoScript features by clicking on the options icon. 

options icon

Clicking this button will open a webpage that allows you to further customize the extension. These options are broken down into four categories; General, Per-site Permissions, Appearance, and Advanced. Most of those settings are self-explanatory, however, there are some options that are worth taking a closer look at.


Clicking on General can allow you to Temporarily set top-level sites to TRUSTED. This is an easy way to make all top-level domains function as normal, acting as a quick and easy way to set up NoScript so that it will still protect you against malicious scripts on random sites you might stumble across - without breaking the majority of websites that you like to use. 

Clicking on Per-site Permissions allows you to check which websites have already been set to Trusted, including domains preset by NoScript, such as YouTube. 


NoScript is an excellent script blocking extensions that can give you a lot more privacy and security online. Anybody who is worried about falling victim to scam adverts, pop-ups, malicious websites, and dangerous malware including drive-by downloads, is strongly recommended to start making use of NoScript on either Firefox or Chrome.

While setting up NoScript does require some effort during the first time you visit a webpage, there is no doubt that NoScript can provide high levels of privacy and security. For this reason, we recommend taking the time to read this guide so that you can confidently use NoScript to unblock website scripts as and when you need them, while still blocking everything else that you do not need. 

Written by: Ray Walsh

Digital privacy expert with 5 years experience testing and reviewing VPNs. He's been quoted in The Express, The Times, The Washington Post, The Register, CNET & many more. 


on April 17, 2021
I've been using NOSCRIPT for maybe 6 months on recommendation from someone online. I'd never heard of it, didn't bother to investigate it (I should have!). I asked the guy who recommended it how I use it (I was trying to get a site to work in Chrome) and he said to trust various (unspecified) elements. He did say something like "just don't trust doubleclick! LOL." Well, what I've done for scores of sites now is click the blue (I'm colorblind, so I'll take you word for that) button for permanent trust for pretty much everything but Doubleclick! Now, I realize I shouldn't have done that. Of course, it's faster than the trial and error recommended in this article, but clearly I'm leaving myself vulnerable. So, my question is: Can I globally untrust? Can I start over, essentially? I figure that's the only way I can undo the damage I've done. Perhaps UNINSTALL and then REINSTALL NoScript?
on May 2, 2020
Well done thanks. When you update this information, please include: 1.) How and what NoScript whitelists as Trusted. 2.) Specifics on each of the Custom categories. 3.) As a how-to, from my experience when using this utility (almost from the first) the Custom/Trusted category fills up from various errors in choice. That Custom/Trusted options list should be re-considered as the utility is used. Hope this helps, NR Washington DC

Write Your Own Comment

Your comment has been sent to the queue. It will appear shortly.

Your comment has been sent to the queue. It will appear shortly.

Your comment has been sent to the queue. It will appear shortly.

  Your comment has been sent to the queue. It will appear shortly.

We recommend you check out one of these alternatives: