Salary Calculator: Contractor (PJ) vs Employee (CLT)

Compare the estimated total annual pay of a Brazilian CLT (employee) role and a PJ (contractor) role, including deductions, 13th salary, vacation, FGTS, taxes and benefits.

Notice: the results are rough estimates for comparison and learning purposes. The INSS, IRRF, FGTS and Simples Nacional tables used are illustrative and may be outdated. This tool does not replace labor, tax or accounting advice. Do not use it as the sole basis for career, hiring or taxation decisions.
What to display

Pay data

CLT

PJ

Every PJ owner ("sócio") must declare a monthly pró-labore (owner's pay), on which INSS (social security) is charged — if you don't enter a value, we assume the minimum wage as the default and calculate INSS (11%) automatically. The PJ tax rate is editable — by default we use 6%, close to the initial bracket of the Simples Nacional (Annex III, services). Adjust it to reflect your actual annex/bracket. Use "fixed costs" for accountant, coworking and similar expenses.

Benefits (optional)

Add benefits with a monthly value and choose whether each one applies to CLT, PJ or both. They are added to the annual total of the corresponding regime(s). E.g.: meal voucher, food voucher, health plan, dental plan, childcare assistance, profit sharing.

CLT vs PJ: which regime pays more?

One of the most common questions in a tech career in Brazil is comparing a CLT (Consolidação das Leis do Trabalho — formal employment) offer with a PJ (Pessoa Jurídica — contractor) offer. The comparison cannot be made based only on the "full" monthly value: the CLT regime embeds a series of rights and deductions (INSS, income tax, 13th salary, vacation with a 1/3 bonus and FGTS) that significantly change the amount that actually reaches your pocket over a year. PJ, on the other hand, usually has a higher gross value, but pays its own taxes and does not automatically receive a 13th salary, vacation or FGTS.

This calculator estimates the total annual amount for each regime so the comparison is made on the same basis — the whole year, not just a single month.

How the CLT calculation is estimated

The CLT annual total is built from the informed gross monthly salary:

How the PJ calculation is estimated

The PJ annual total starts from the monthly billing (invoice value):

Benefits are part of the comparison

Meal vouchers, food vouchers, health plans, dental plans, childcare assistance, profit sharing and other benefits carry real weight in the comparison. The tool lets you add them with a monthly value and mark whether they apply to CLT, PJ or both — each one is added (× 12) to the annual total of the corresponding regime. Many benefits are typical of the CLT relationship, but you can replicate them under PJ (for example, by getting a health plan on your own) by marking them as "both" or "PJ only".

Frequently Asked Questions (FAQ)

Are the calculated values exact?

No. They are rough estimates for comparison purposes. The INSS, IRRF, FGTS and Simples Nacional tables are illustrative and may be outdated relative to current legislation. Several real-world factors are not modeled (dependents in the IRRF, deductions, pró-labore, Simples Nacional annexes/brackets and the "R factor", benefits with copayment, etc.). For precise figures, consult an accountant.

Does the tool consider dependents for income tax?

Not in this version. The IRRF base is calculated only as salary minus INSS, without any deduction for dependents or the simplified discount. This makes the estimated IRRF slightly higher than for someone who has dependents to deduct.

Why is the PJ tax rate editable and starts at 6%?

Because a PJ's real taxation depends on the regime (Simples Nacional, Lucro Presumido), the annex, the billing bracket and the "R factor". 6% is the initial rate of Annex III of the Simples (services), used as a starting point. Adjust the field to reflect your situation. INSS on the pró-labore is calculated separately (11%, its own field), so it does not need to be embedded in this rate.

The PJ's 13th salary and vacation don't show up. Why?

Because, by default, PJ has no 13th salary, paid vacation or FGTS — those are rights of the CLT employment relationship. A PJ professional who wants the equivalent needs to set aside those amounts from their own billing. You can simulate this by adjusting the billing or using the benefits fields.

Are the entered values saved?

Only during the current page session. When you reload, the values are discarded — note down or copy the comparison result before leaving, if you need it later.

What does the "average/month" in the result mean?

It is the estimated annual total divided by 12. It's useful to compare, in a single monthly number, regimes that distribute pay differently over the year (CLT concentrates part of it in the 13th salary and vacation; PJ is more linear).