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

Published

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). 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).
  7. Delivery. How the file is served (content type, caching, HTTP vs HTTPS, WPAD) matters as much as its logic.

The tools

ToolRuns in browserEngine modelmyIpAddress / DNS / dateDeciding lineMistake checks
findproxyforurl.netyes, sandboxed worker on a separate originChromium, Firefox and pacparser profiles per version range, each with its own helper libraryyes / yes / yesyes116 public rules, grade A+ to F, delivery check
CentaurNexus PAC testeryes, sandboxed iframestandard Netscape PAC APIyes / no (by design) / yesyeshints (errors, warnings, notes)
pacparser online testeryespacparser (QuickJS)yes / DNS mock / not statednot statednot stated
PAC Tester (brdbnt)yesin-browser evaluationnot stated / DNS override / not statednot statednot stated
App::proxyforurlevaluates with eval() in the page; a server helps with DNS and net checksgenericper its documentation the date functions always return trueyes (“find rule”)no
pactester (command line)localpacparseryes (-c) / real DNS / nonono

“Not stated” means the tool’s page does not say. It does not mean the feature is missing.

When to use what

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.