Gender Pay Gap Report Builder

Drop a payroll CSV and get the statutory mean/median pay gaps, bonus gaps and pay quartiles — computed entirely in your browser, never uploaded.

Your payroll data never leaves this browser tab. Nothing is uploaded — open your browser's DevTools › Network tab and watch: computing the report makes zero requests.

Hourly pay is either read from an hourly-pay column, or derived as base pay ÷ hours worked for the relevant period — you prepare the ordinary-pay figures, this tool only computes the gaps. Gender is treated as the statutory men/women binary; anything else is counted separately, never forced or dropped.

…or drop a .csv / .tsv file into this box

Nothing loaded yet. Paste your payroll above, or load the sample data. Nothing is uploaded — every row is parsed inside this browser tab.

Frequently asked questions

What are the six UK statutory figures, and how is each one calculated?

The six figures are: the mean hourly pay gap = (men's mean hourly pay − women's mean hourly pay) ÷ men's mean × 100; the median hourly pay gap, using the middle value of each gender (the average of the two middle values for an even sample); the mean and median bonus gap, calculated the same way but over bonus recipients only (anyone with a bonus above 0); the proportion of men and of women receiving a bonus, where the denominator is everyone of that gender (not just recipients — this is the trap); and the male/female split across the four pay quartiles. A positive gap means pay favours men.

How is hourly pay derived from base pay and hours worked?

If your CSV already has an hourly-pay column, this gender pay gap calculator uses it directly. If not, it derives hourly pay as base pay ÷ hours worked for the relevant pay period, following the UK ordinary-pay methodology — you are responsible for preparing the ordinary-pay figure and the period hours; the tool only turns those into the mean and median pay gap. Rows where hours worked is zero or blank, or where pay is non-numeric or negative, are excluded and listed with a reason rather than silently dropped.

How are pay quartiles split, and what happens when the boundary has equal pay?

Every employee in the binary population is sorted by hourly pay in ascending order and divided into four equal groups — lower, lower middle, upper middle and upper. When the headcount does not divide by four, the remainder is added to the lower quartiles first. When several employees on a quartile boundary share exactly the same hourly pay, they are distributed so the gender ratio is spread as evenly as possible across the groups they straddle, following the official pay quartiles calculator guidance, and the number of straddling employees is shown.

What is the EU Pay Transparency Directive (2023/970) 5% trigger and a joint pay assessment?

Directive 2023/970 says that when the gender pay gap within a category of workers doing equal work exceeds 5% and cannot be justified by objective, gender-neutral criteria, the employer must carry out a joint pay assessment with worker representatives. In EU mode this tool builds a per-category mean hourly gap table from your grade/category column and flags any category above 5% as a review signal. That flag is a prompt to look closer — it is not a legal determination.

Is our payroll data sent to a server, and how can I verify it?

No. Everything — CSV parsing, encoding detection, sorting, quartiles and every gap — runs inside your browser tab, so raw payroll never reaches any server and there is no signup, email or upload. You can verify it yourself: open your browser's developer tools, go to the Network tab, then load your file and calculate. You will see zero requests carrying your data. That is why security teams clear it where uploading to a pay-equity vendor would be blocked.