# Online PAC file testers compared: what to look for (2026)

Source: https://findproxyforurl.net/articles/online-pac-file-testers-compared/ · updated 2026-10-06

Several free tools test a proxy.pac in the browser. They differ in what they model. Some run one generic engine, while others simulate DNS, client IP and date, show the deciding line, or check the file for known mistakes. This page lists what to look for and what each tool we checked offers.

*Checked on 2026-10-06 from each tool's own page. Tools change, so if something here is out of date,
the tool's own page wins.*

## Seven things that matter

1. **The file stays in your browser.** A PAC file names internal domains, networks and proxies.
   The tool should evaluate it client-side and say so.
2. **Engine differences.** Chrome removes the path and query of `https://` URLs before calling
   `FindProxyForURL`. Firefox removes them for every scheme, and pacparser passes the URL unchanged
   (source: code, verified 2026-10-04; [engine differences](https://findproxyforurl.net/engines/differences/)). A tester with
   one generic engine cannot show these differences.
3. **Simulated environment.** You need control over `myIpAddress()`, DNS answers for `dnsResolve` /
   `isInNet`, and the date and time for `dateRange` / `timeRange` / `weekdayRange`.
4. **The deciding line.** For each URL, which `return` produced the result.
5. **Many URLs at once**, including the tricky ones: look-alike domains, query strings, IP literals.
6. **Checks for known mistakes**, not just evaluation. Most broken PAC files return a perfectly
   valid string for the URLs you thought of ([top 20 mistakes](https://findproxyforurl.net/top-20/)).
7. **Delivery.** How the file is served (content type, caching, HTTP vs HTTPS, WPAD) matters as much
   as its logic.

## The tools

| Tool | Runs in browser | Engine model | myIpAddress / DNS / date | Deciding line | Mistake checks |
|---|---|---|---|---|---|
| [findproxyforurl.net](https://findproxyforurl.net/check/) | yes, sandboxed worker on a separate origin | Chromium, Firefox and pacparser profiles per version range, each with its own helper library | yes / yes / yes | yes | 116 public rules, grade A+ to F, delivery check |
| [CentaurNexus PAC tester](https://centaurnexus.com/tools/en/pac-tester.html) | yes, sandboxed iframe | standard Netscape PAC API | yes / no (by design) / yes | yes | hints (errors, warnings, notes) |
| [pacparser online tester](https://pacparser.manugarg.com/) | yes | pacparser (QuickJS) | yes / DNS mock / not stated | not stated | not stated |
| [PAC Tester (brdbnt)](https://pactester.brdbnt.com/) | yes | in-browser evaluation | not stated / DNS override / not stated | not stated | not stated |
| [App::proxyforurl](https://metacpan.org/pod/App::proxyforurl) | evaluates with `eval()` in the page; a server helps with DNS and net checks | generic | per its documentation the date functions always return true | yes ("find rule") | no |
| [pactester](https://findproxyforurl.net/articles/how-to-test-a-pac-file/) (command line) | local | pacparser | yes (`-c`) / real DNS / no | no | no |

"Not stated" means the tool's page does not say. It does not mean the feature is missing.

## When to use what

- **Quick answer for one URL:** any of the browser-based testers.
- **"Why does Chrome do something different from pactester?":** a tester that models engines
  separately, or the [engine differences table](https://findproxyforurl.net/engines/differences/).
- **Before a roll-out:** a tester with mistake checks, plus `pactester` in CI with a fixed list of
  URLs and expected answers ([how to test a PAC file](https://findproxyforurl.net/articles/how-to-test-a-pac-file/)).
- **The final word:** the real client. See [debugging in Chrome, Edge and
  Firefox](https://findproxyforurl.net/articles/debug-pac-chrome-edge-firefox/).


## Frequently asked questions

### Which online PAC file testers exist?

Among others, findproxyforurl.net/check/, the CentaurNexus PAC tester, the pacparser online tester at pacparser.manugarg.com, the PAC tester at pactester.brdbnt.com and App::proxyforurl by Jan Henning Thorsen. For scripts and CI there is the pactester command line from pacparser.

### Is it safe to paste a corporate PAC file into an online tester?

Use a tester that evaluates the file in your browser and says so. findproxyforurl.net runs the PAC in a sandboxed worker on a separate origin with network functions removed. For the grade it sends only anonymised facts, with comments removed and your domains and IP addresses replaced. The file itself is never uploaded.

### Is findproxyforurl.net the same as App::proxyforurl?

No. App::proxyforurl is a separate open-source tool by Jan Henning Thorsen. findproxyforurl.net is an independent site with its own engine profiles, rule catalogue and generators.

