If we go by the number of active clients then Zerodha is better than Upstox. Zerodha has 47.5 Lacs clients whereas Upstox has 35.9 Lacs active clients.
In terms of brokerage, Zerodha provides Free delivery trade to its all customer, whereas Upstox Charges 2.5% or up to Rs 20 per order (only apply to customers onboarded on or after 21st September 2021) on delivery trade.
As far as other segments are concerned Zerodha for every executed order charges 0.03% or Rs.20/Trade whichever is lower whereas Upstox charges 0.05% or Rs.20/Trade whichever is lower.
The major difference is with call & trade charges, Zerodha charges Rs.50 per executed order, and Upstox charges Rs. 20 only.