Skip to content
worldsalaries .com

Average CNC Programmer Salary in South Africa for 2026

An CNC programmer in South Africa earns about 272,800 ZAR a year. That's 27% below the national average of 372,600 ZAR.

Pay ranges widely from country to country and from role to role. The lowest reported salaries in South Africa sit around 142,300 ZAR a year, while the very top stretches to 415,900 ZAR. Everything on this page is in South African rand (ZAR, symbol R), which lets you compare numbers like-for-like without worrying about exchange rates.

The numbers here are pulled together from official government wage data, large independent salary surveys, and aggregated worker-reported pay. Most reported salaries include the benefits that are common in South Africa, such as housing or transport allowances, which is worth keeping in mind if you're comparing against a country where those are usually paid on top.


How much does an CNC programmer make in South Africa?

Average salary
272,800 ZAR
22,733 ZAR per month
Lowest reported
142,300 ZAR
11,858 ZAR per month
Highest reported
415,900 ZAR
34,658 ZAR per month

A typical CNC programmer working in South Africa brings home around 22,733 ZAR a month before tax. Entry-level pay starts near 142,300 ZAR, and the top of the ladder reaches roughly 415,900 ZAR for the most experienced and specialised people in the role.

The wide gap between low end and top end reflects how much pay can vary inside the same job title. A junior CNC programmer working at a small local employer earns very different money from a senior at a multinational. Skills, employer, city and years in the seat all push the number around.


How CNC programmer pay ranges in South Africa

A good way to think about salary in South Africa is to look at the distribution rather than the headline average. Half of all CNC programmers in South Africa earn less than 261,300 ZAR a year, and the other half earn more. That middle number is the median, and it is usually more useful than the average for answering "is my pay normal here".

Looking at the quartiles fills in the picture. A quarter of earners take home less than 181,600 ZAR (the 25th percentile), and a quarter clear 325,800 ZAR (the 75th percentile). The middle 50% of CNC programmers sit somewhere inside that band, which is where the typical reader of this page probably lives.

The very lowest reported salaries sit around 142,300 ZAR. The highest stretch to 415,900 ZAR, though only a small fraction of earners ever reach that level. If you are deciding whether your own offer or current pay is reasonable, work out which of those four bands you would fall into and use that as your reference point.

142,300
Low
261,300
Median
415,900
High
181,600
25th
325,800
75th
The middle 50% sit between the 25th and 75th percentile Tails are the lowest and highest reported All figures in ZAR

CNC programmer pay by experience in South Africa

Years of experience is the single biggest lever on pay for an CNC programmer in South Africa, ahead of education and almost any other single factor. The longer you have been in the role, the more your employer can trust you to handle complexity, mentor others and act independently, all of which command higher pay. The chart below shows how the typical CNC programmer salary changes as you move through the career ladder.

  • 0-2 Years
    159,500 ZAR
  • 2-5 Years
    +34% from previous
    214,000 ZAR
  • 5-10 Years
    +31% from previous
    279,400 ZAR
  • 10-15 Years
    +22% from previous
    340,000 ZAR
  • 15-20 Years
    +9% from previous
    369,900 ZAR
  • 20+ Years
    +5% from previous
    389,200 ZAR

The single largest jump on the ladder is from 0 - 2 Years to 2 - 5 Years, where pay rises by about 34%. That is the point at which a CNC programmer typically goes from "competent in the role" to "the person other people in the team learn from", and the market pays well for that step.


CNC programmer pay by education in South Africa

Education sits alongside experience as one of the biggest factors driving CNC programmer pay in South Africa. Higher qualifications consistently pull higher salaries, but the size of the gap tends to be smallest at junior levels and widens as people move up. Two people in the same role with the same years of experience but different degrees can end up earning very different money once they reach mid-career.

Below is the average CNC programmer salary in South Africa broken down by the highest level of education a worker has completed.

  • Certificate or Diploma
    201,100 ZAR
  • Bachelor's Degree
    +80% from previous
    361,500 ZAR

CNC programmer gender pay gap in South Africa

The gender pay gap is a stubborn feature of almost every labour market, and South Africa is no exception. Male CNC programmers in South Africa earn an average of 282,300 ZAR a year, while female CNC programmers earn around 263,100 ZAR. That works out to a 7% gap in favour of men, even when comparing people doing the same work.

A pay gap of this size has a real long-term cost. Over a typical thirty-year career it can add up to several years of pay, and it compounds through pensions, retirement contributions and bonus-linked stock. Some of the gap is explained by women being more likely to work part-time, take career breaks, or be steered toward lower-paying specialisations. Some of it is straightforward unequal pay for the same job, which is harder to defend.

CNC Programmer gender pay gap

7%

Men earn this much more than women on average in South Africa.

Men 282,300 ZAR
Women 263,100 ZAR

Pay raises for an CNC programmer in South Africa

Most countries hand out at least some kind of pay raise every year, typically when an employee's contract is reviewed or as a cost-of-living adjustment to keep wages roughly in step with inflation. The rhythm and size of those raises varies hugely between industries.

A typical worker doing this role in South Africa sees a raise of about 9% every 19 months, which works out to roughly 6% on an annual basis. That figure is the typical underlying rate; in years where inflation runs high you can usually expect a bit more, and in flat-economy years a bit less.

Across all jobs in South Africa, the national average raise is around 8% every 18 months.

By industry

Industries with the highest pay raises in South Africa:

  • Banking
  • Energy
  • Information Technology
  • Healthcare
  • Travel
  • Construction
  • Education

By experience level

Experienced workers tend to see larger raises. Retaining a senior is cheaper than replacing them, so employers fight harder for them.

  • Junior Level
    3% - 5%
  • Mid-Career
  • Senior Level
  • Top Management

CNC programmer bonus rates in South Africa

Bonuses are the other half of total compensation, and they vary a lot between jobs and industries. Some roles are paid almost entirely in base salary; others lean heavily on bonus structures tied to revenue, project completion or company performance. Whether a job pays a bonus, how big it is, and how often it lands all factor into whether the headline salary is actually a good offer.

27%

27% of CNC programmers in South Africa reported a bonus of some kind in the past twelve months. That makes an CNC programmer a low-bonus role overall, which is useful context when you're weighing up a job offer where the base is below market.

Among those who did receive a bonus, the size of the payment varied substantially. Reported bonuses ranged from 1% to 3% of base salary. The remaining 73% of CNC programmers reported no bonus at all over the same period.

Which careers pay bonuses in South Africa

Revenue-facing roles tend to pay the biggest bonuses. Operational and support roles tend toward smaller, more predictable ones.

  • Finance
  • Architecture
  • Sales
  • Business Development
  • Marketing / Advertising
  • Information Technology
  • Healthcare
  • Insurance
  • Customer Service
  • Human Resources
  • Construction
  • Transport
  • Hospitality

CNC programmer: public vs private sector pay

Public-sector pay in South Africa is about 7% more than private-sector pay for similar work. The private sector typically offers stronger upside and bigger bonuses; the public sector typically offers better benefits and stability.

Public vs private pay gap

6%

Public-sector workers earn this much more than private-sector workers in South Africa on average.

Public sector 386,400 ZAR
Private sector 361,500 ZAR

CNC programmer salary by city in South Africa

CNC programmer pay is not even across South Africa. The chart below shows the highest-paying cities in the dataset, followed by the full location table.

  • Cape Town
  • Johannesburg
  • Durban
  • Pretoria
  • Port Elizabeth
  • Bloemfontein
LocationTypeAverageMedianRange
Cape TownCity283,700 ZAR292,000 ZAR138,800-444,300 ZAR
JohannesburgCity277,400 ZAR294,700 ZAR128,900-442,200 ZAR
DurbanCity267,100 ZAR277,400 ZAR129,000-421,400 ZAR
PretoriaCity267,100 ZAR290,800 ZAR125,100-425,100 ZAR
Port ElizabethCity246,500 ZAR232,400 ZAR128,900-377,200 ZAR
BloemfonteinCity243,000 ZAR247,800 ZAR117,440-378,800 ZAR


CNC Programmer in South Africa: FAQs

  • How much does an CNC programmer make per month in South Africa?

    An CNC programmer in South Africa earns about 22,733 ZAR a month before tax, based on an annual average of 272,800 ZAR.

  • What's the salary range for an CNC programmer in South Africa?

    Entry-level CNC programmers in South Africa start near 142,300 ZAR. Top-end pay reaches around 415,900 ZAR. The middle 50% of earners sit between 181,600 and 325,800 ZAR.

  • Is the median CNC programmer salary in South Africa higher or lower than the average?

    The median is 261,300 ZAR, lower than the average of 272,800 ZAR. Half of CNC programmers in South Africa earn below the median, half earn above it.

  • What's the gender pay gap for CNC programmers in South Africa?

    Men working as an CNC programmer in South Africa earn around 7% more than women on average (282,300 vs 263,100 ZAR a year).

  • Do CNC programmers in South Africa get bonuses?

    About 27% of CNC programmers in South Africa reported a bonus in the past 12 months. Reported bonuses ranged from 1% to 3% of base salary.

  • Do CNC programmers earn more in the public or private sector in South Africa?

    In South Africa, the public sector pays an CNC programmer about 7% more on average. Public-sector pay tends to be steadier; private-sector pay tends to offer bigger upside.

  • How often do CNC programmers in South Africa get a pay raise?

    An CNC programmer in South Africa sees a raise of around 9% every 19 months, equivalent to roughly 6% a year.