Publishing Date: 7 November, 2026
A freelancer generally needs GST registration when annual service turnover crosses ₹20 lakh (₹10 lakh in certain special category states). Exports of services count towards this limit. Once registered, you can usually export without paying IGST by filing an LUT.
Writers, developers, designers and consultants all supply services under GST. The tax does not care that you work alone or from home.
| Situation | Registration needed? |
|---|---|
| Turnover up to ₹20 lakh, Indian clients only | Generally no |
| Turnover up to ₹20 lakh, clients in other states | Generally no, because of the exemption for small service providers |
| Turnover up to ₹20 lakh, foreign clients | Generally no |
| Turnover above ₹20 lakh | Yes |
| Client or platform insists on a GSTIN | Voluntary registration is an option |
Some online services and some cases have special rules, so take advice if yours is unusual. The GST eligibility tool gives a quick first check.
A service counts as an export only if the supplier is in India, the client is outside India, the place of supply is outside India, you receive payment in foreign exchange (or INR where the RBI permits), and the two are not merely establishments of one entity.
GST does not replace income tax. Many freelancers can use presumptive taxation, explained in our presumptive tax guide.
Need a GSTIN? Our GST registration service is fully online.
Q1. Can I register from a home address?
Yes. You need address proof and, if you do not own the property, a rent agreement or consent letter.
Q2. Do I need a separate bank account?
Not legally, but the bank account details go in the registration, and a separate account keeps records clean.
Q3. What if I earn through Upwork or Fiverr?
Income through foreign platforms still counts towards turnover. Check how the platform bills you and whether the transaction meets export conditions.
Q4. What rate of GST applies?
Many professional services are taxed at 18%, but confirm the rate for your service using its SAC code.
Share article via: