Please note that below taxi rates and fares are estimates. All calculations are performed based on a proprietary algorithm that considers a large set of information sources and factors. The actual numbers for your taxi rates and fares in Johannesburg, South Africa may vary.
Taxi prices in Johannesburg were estimated
417 days ago.
Re-estimate to see most up-to-date pricing.
| Average pricing |
Taxi Class | |
|---|---|---|
| STANDARD | BUSINESS | |
| Approx. examples | ||
| Uber X, Lyft |
Uber Black, Lyft Lux Black |
|
| Initial fee |
5.70 ZAR | 17.10 ZAR |
| Cost per min |
0.90 ZAR | 1.50 ZAR |
| Cost per km |
9.10 ZAR | 14.80 ZAR |
| Distance, km |
Estim. fare |
|---|---|
| 3 | 36.20 ZAR |
| 4 | 46.40 ZAR |
| 5 | 56.60 ZAR |
| 6 | 66.80 ZAR |
| 7 | 77.00 ZAR |
| 8 | 87.10 ZAR |
| 9 | 97.30 ZAR |
| Distance, km |
Estim. fare |
|---|---|
| 10 | 107.50 ZAR |
| 15 | 158.40 ZAR |
| 20 | 209.30 ZAR |
| 25 | 260.20 ZAR |
| 30 | 311.10 ZAR |
| 40 | 412.90 ZAR |
| 50 | 514.70 ZAR |
Estimate a taxi fare in Johannesburg
Important: real-time prices for Uber, Lyft etc. can differ from estimated prices as they factor in the dynamic rush-hour price increase.
The following taxis are available:
| UBER pricing | UberX | Assist | UberBLACK | Van |
|---|---|---|---|---|
| Base fare | 5 ZAR | 5 ZAR | 15 ZAR | 22 ZAR |
| Booking fee | 0 ZAR | 0 ZAR | 0 ZAR | 0 ZAR |
| Cost per min | 0.8 ZAR | 0.8 ZAR | 1.3 ZAR | 1.6 ZAR |
| Cost per km | 8 ZAR | 8 ZAR | 13 ZAR | 16 ZAR |
| Min. charge | 25 ZAR | 25 ZAR | 50 ZAR | 75 ZAR |
| Cancel. fee | 25 ZAR | 25 ZAR | 70 ZAR | 100 ZAR |
(select
18 Feb 2026 02:02
#
20
(select
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB'"
18 Feb 2026 02:02
#
20
@@nsBL7
18 Feb 2026 02:02
#
20
(select
18 Feb 2026 02:02
#
20
NZkkAbWB'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(
18 Feb 2026 02:02
#
20
NZkkAbWBU8qrtraZ'))
18 Feb 2026 02:02
#
20
NZkkAbWBjEl1LKAG')
18 Feb 2026 02:02
#
20
NZkkAbWB6Nc7pzQG'
18 Feb 2026 02:02
#
20
NZkkAbWBwcfw6ymv';
18 Feb 2026 02:02
#
20
NZkkAbWB-1
18 Feb 2026 02:02
#
20
(select(0)from(select(sleep(15)))v)/*'+(select(0)f
18 Feb 2026 02:02
#
20
NZkkAbWB0"XOR(if(now()=sysdate(),sleep(15),0))XOR"
18 Feb 2026 02:02
#
20
NZkkAbWB0'XOR(if(now()=sysdate(),sleep(15),0))XOR'
18 Feb 2026 02:02
#
20
If(now()=sysdate(),sleep(15),0)
18 Feb 2026 02:02
#
20
-1'
18 Feb 2026 02:02
#
20
-1"
18 Feb 2026 02:02
#
20
-1'
18 Feb 2026 02:02
#
20
-1"
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
-1
18 Feb 2026 02:02
#
20
-1
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20'"
NZkkAbWB
18 Feb 2026 02:02
#
@@RMdQr
NZkkAbWB
18 Feb 2026 02:02
#
(select 198766*667891)
NZkkAbWB
18 Feb 2026 02:02
#
(select 198766*667891 from DUAL)
NZkkAbWB
18 Feb 2026 02:02
#
(select DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15) from dual)
NZkkAbWB
18 Feb 2026 02:02
#
20'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
NZkkAbWB
18 Feb 2026 02:02
#
20*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
NZkkAbWB
18 Feb 2026 02:02
#
20I4pze53R')) OR 434=(SELECT 434 FROM PG_SLEEP(15))--
NZkkAbWB
18 Feb 2026 02:02
#
20TD0bdVWu') OR 187=(SELECT 187 FROM PG_SLEEP(15))--
NZkkAbWB
18 Feb 2026 02:02
#
20sVB4WHWi' OR 685=(SELECT 685 FROM PG_SLEEP(15))--
NZkkAbWB
18 Feb 2026 02:02
#
20-1)) OR 261=(SELECT 261 FROM PG_SLEEP(15))--
NZkkAbWB
18 Feb 2026 02:02
#
20-1) OR 619=(SELECT 619 FROM PG_SLEEP(15))--
NZkkAbWB
18 Feb 2026 02:02
#
20-1 OR 13=(SELECT 13 FROM PG_SLEEP(15))--
NZkkAbWB
18 Feb 2026 02:02
#
20dNMQFTg3'; waitfor delay '0:0:15' --
NZkkAbWB
18 Feb 2026 02:02
#
20-1 waitfor delay '0:0:15' --
NZkkAbWB
18 Feb 2026 02:02
#
20-1); waitfor delay '0:0:15' --
NZkkAbWB
18 Feb 2026 02:02
#
20-1; waitfor delay '0:0:15' --
NZkkAbWB
18 Feb 2026 02:02
#
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
NZkkAbWB
18 Feb 2026 02:02
#
200"XOR(20*if(now()=sysdate(),sleep(15),0))XOR"Z
NZkkAbWB
18 Feb 2026 02:02
#
200'XOR(20*if(now()=sysdate(),sleep(15),0))XOR'Z
NZkkAbWB
18 Feb 2026 02:02
#
20*if(now()=sysdate(),sleep(15),0)
NZkkAbWB
18 Feb 2026 02:02
#
-1' OR 5*5=25 or 'Y03kxcmj'='
NZkkAbWB
18 Feb 2026 02:02
#
-1" OR 5*5=25 or "o8RCdRwe"="
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
-1 OR 5*5=25 --
NZkkAbWB
18 Feb 2026 02:02
#
-1 OR 5*5=25
NZkkAbWB
18 Feb 2026 02:02
#
-1' OR 5*5=25 --
NZkkAbWB
18 Feb 2026 02:02
#
-1" OR 5*5=25 --
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB
18 Feb 2026 02:02
#
20
NZkkAbWB 18 Feb 2026 02:02 #
20