PAC checker

Paste a proxy.pac or wpad.dat file and press Check (or Ctrl+Enter in the editor).

function FindProxyForURL(url, host) { host = host.toLowerCase(); if (isPlainHostName(host) || dnsDomainIs(host, ".corp.example")) { return "DIRECT"; } return "PROXY proxy.corp.example:8080"; }

Tab inserts spaces after you click into the editor; press Escape, then Tab, to move on.

Files up to 1 MiB (the largest PAC browsers load) can be rated. Extremely dense files that exceed the rating server's limits get the basic checks only.

Your PAC is checked in your browser. For the rating, only anonymised facts about the code are sent (which functions it calls with which patterns, what it returns): comments removed, your organisation's domains and IPs replaced. Your original file is never sent or stored.

The full report lists every finding with its line and a fix. Before anything is uploaded you see the anonymised file and can change it or cancel.

Test URLs

The checker also generates probe URLs from the domains in your file (look-alikes, query strings, IP literals).

Engines
  • Chrome ≤ 51 → Chrome ≥ 52: URL passed to FindProxyForURL
  • pacparser ≤ 1.4 → pacparser 1.5.0: JavaScript level accepted
  • pacparser 1.5.0 → pacparser ≥ 1.5.1: alert() output; Native (C++) bindings

Newest version of each engine by default; the list above says what changes between version ranges. Hover a version for its caveat. Profiles run the engine's own helper library. What differs between engines.

Environment: myIpAddress, DNS, date and time, vendor

Empty = now, in your browser's time zone.

intranet.corp.example=10.1.2.3
Delivery: grade how the file is served

Only the scheme, a common file name (proxy.pac, wpad.dat; otherwise just the extension) and whether the host is wpad are sent; file paths and \\server\share are accepted.

Paste the headers; the site never fetches the URL itself.

Rating settings

Remembered in this browser.

Anonymise

This table is used for every check and for the upload. Edit a replacement to change what is sent.

Share