Freelancing as a Developer in India: Honest Truth
Freelancing as a developer in India: finding clients, setting rates, taxes, contracts, and the reality of working for yourself.

The first Rs 1 lakh month is the one that matters
For most developers who go freelance, the first milestone isn't a big number. It's the first month that crosses what the old job paid. Before that, the early months are often brutal: income well below the previous salary, savings shrinking, and plenty of second-guessing.
That first strong month matters less for the money than for the proof that the model works. Once you've done it once, you know you can do it again.
Every developer has the fantasy. Freedom. You work from a beachside cafe in Goa, choose your own hours, pick only interesting projects, make more than a full-time job pays, and nobody manages you.
The reality is messier. Freelance income swings: some months can pay several times a salary, and others pay nothing. You do choose your own hours, which often means choosing 11 PM because a client deadline is breathing down your neck.
So this isn't a "how to make six figures freelancing" hype piece. It's what freelancing as a developer in India is really like, uncomfortable parts included: the money, the clients, the taxes, the loneliness, and whether it suits you at all.
Finding clients: where the work comes from
Freelance platforms
Platforms are the most common starting point, and the experience varies wildly from one to the next.
Upwork is the largest freelancing platform, and it's where most Indian developers start. Competition is brutal. Every decent project draws 50-100 proposals, many from developers willing to work for Rs 200/hour, so breaking through takes a strong profile, competitive pricing at the start, and patience.
An Upwork strategy that commonly works:
- Create a niche profile, "React/Next.js Developer for SaaS Companies" instead of "Full-Stack Developer"
- Write a customized proposal for every job (never templates)
- Underprice your first few projects to build reviews (painful but necessary)
- Raise rates substantially once you have 10+ five-star reviews
- Work towards "Top Rated" status, which brings inbound invitations
The first few months are usually discouraging. Dozens of proposals before the first small project is normal. That first review tends to snowball into more work, though.
Toptal is the premium platform. They claim to accept only the top 3% of applicants, and the screening is rigorous: a personality interview, a timed algorithm test, a live coding challenge and a trial project. Get through and the rates are much higher. Plenty of strong developers fail a stage on the first attempt and pass on a later one, so don't treat one rejection as final.
With Toptal, clients come to you. You don't bid. Toptal matches you with clients and the rates are pre-negotiated at a premium level. The downside is feast or famine, because sometimes Toptal has no suitable matches for weeks.
Fiverr works for specific, productized services. "I will build you a responsive landing page for Rs 5,000" sells better than "I am a web developer." The trouble is that Fiverr attracts price-sensitive clients, and the race to the bottom on pricing can wear you out.
Direct outreach (the most lucrative channel)
The highest-paying freelance work comes from direct relationships, not platforms. The main ways to build them:
LinkedIn. Post technical content regularly: short posts about React patterns, debugging tips and architecture decisions. Over months that builds an audience of developers and founders, and some of them will reach out when they have a project.
Cold email. Look for startups that have recently raised funding (AngelList, Inc42 and YourStory are good sources for Indian startup news), since funded startups need to move fast and often need contract developers. Then send personalized emails to their CTOs explaining how you can help. Expect a low response rate, but the projects that come from it tend to be longer-term, with bigger budgets and interesting technical problems.
Referrals. After your first few clients, referrals become your best source of work. Ask every happy client, "Do you know anyone else who might need similar help?" A good share will say yes. Referral clients come with trust built in, so there's less negotiation and onboarding goes faster.
Open source and blogging. Contributing to popular open-source projects and writing technical blog posts builds credibility that no profile can. A single good post on a topic like server-side rendering optimization can convince a CTO you know what you're talking about before you've even spoken.
Indian clients vs international clients
Most Indian freelance developers figure out quickly that international clients pay a lot more. A React project an Indian startup budgets at Rs 50,000 might fetch $3,000-5,000 ($2.5-4 lakh) from a US or European client.
That's an obvious incentive to chase international work, but "international = more money" leaves a few things out:
- International clients expect more structured communication, regular updates and specific time zone overlap
- Cross-border payments carry higher fees and longer settlement times
- Your legal protection is weaker when the client is in a different country
- You'll run into some international clients with unconscious (or conscious) biases about Indian developers
A mix works well for many freelancers, for example mostly international with some Indian clients. The Indian clients give steady, lower-stress work, and the international ones bring higher income and exposure to different engineering cultures. The right ratio depends on your niche.
Setting your rates
Most Indian developers get this wrong. Either they price too low, which devalues their work and attracts bad clients, or they price too high with no track record and get nothing.
Hourly vs project-based pricing
Hourly pricing is simple and protects you when the scope is unclear, and most platforms bill this way. The downside is that clients see your hours as a cost to minimize, which creates friction around time tracking and efficiency.
Project-based pricing lines up incentives better. The client knows the total cost upfront, and you benefit from working efficiently. The risk is underestimating the scope and eating the extra hours, and you will underestimate scope. Everyone does at first.
My recommendation: bill hourly for ongoing relationships and maintenance work, and per project for well-defined deliverables (a landing page, an API integration, a mobile app feature).
Rate guidelines (2026 Indian market)
| Experience Level | Indian Clients (Rs/hr) | International Clients ($/hr) |
|---|---|---|
| Junior (0-2 years) | Rs 500-1,000 | $15-25 |
| Mid-level (2-5 years) | Rs 1,000-2,500 | $30-60 |
| Senior (5+ years) | Rs 2,500-5,000 | $60-120 |
| Specialist/Niche | Rs 4,000-10,000 | $100-200 |
These are general ranges. Your real rate depends on your stack (React and mobile development command premiums), your portfolio, your platform reputation and market demand. Rare skills like Rust, blockchain development or ML engineering sit at the top of these ranges or beyond.
The confidence problem
Most Indian developers undercharge because, deep down, they believe their rates should look "reasonable" next to local salaries. Look at it from the client's side instead. A company hiring you as a freelancer saves on employee benefits, office space, equipment, training, management overhead and employment taxes, so your rate should reflect the total value you provide rather than an hourly version of a salary.
If a client says your rate is too high, they aren't your client. Move on. Convincing a price-sensitive client you're worth it burns energy you could spend finding clients who already see your value. Clients who haggle hardest on rate are often the ones who later demand twice the work.
Taxes and GST
This isn't tax advice. Treat it as general guidance and talk to a chartered accountant about your situation.
GST registration
If your annual freelancing income goes over Rs 20 lakh (Rs 10 lakh in some states), you must register for GST. Exporting services to international clients doesn't by itself force you to register below that threshold. You do need a GST registration and an LUT to invoice exports as zero-rated and claim input tax credit refunds, though, so many freelancers register early anyway; ask your CA whether it's worth it for you.
Registration is free and done online. Once you're registered, you:
- Charge 18% GST on invoices to Indian clients
- Charge 0% GST on exports (international clients) under a Letter of Undertaking (LUT)
- File monthly/quarterly GST returns (GSTR-1, GSTR-3B)
- Can claim input tax credit on business expenses
Income tax
Freelance income is taxed as business income, and you file under ITR-3 or ITR-4. The deductions worth knowing:
- Home office: a portion of rent, electricity and internet if you work from home
- Equipment: laptop, monitor, keyboard, chair (depreciation applies)
- Software subscriptions: VS Code extensions, hosting, domains, SaaS tools
- Professional development: courses, certifications, conference tickets
- Internet and phone: the business-use percentage
- Travel: if you travel to meet clients
Keep detailed records. Track every expense in a spreadsheet with receipt photos. Freelancers who don't keep records in their first year routinely miss out on thousands of rupees in legitimate deductions.
Advance tax
If your tax liability for the year goes over Rs 10,000, you have to pay advance tax in quarterly installments (June 15, September 15, December 15, March 15). Miss those dates and you pay interest under Section 234B and 234C. If you opt for presumptive taxation under Section 44ADA, you can pay the whole year's advance tax in a single instalment by March 15.
This catches a lot of first-time freelancers off guard. They earn well all year and spend freely. Then March arrives with a huge tax bill and interest on top. Put 30% of every payment into a separate savings account for taxes, and the money will be there when advance tax is due. If 30% sounds excessive, it isn't. You'll thank yourself come March.
International payments
For international clients you'll use one of these:
- Wise (formerly TransferWise): excellent exchange rates, low fees, fast transfers. My preferred option.
- PayPal: widely accepted, but the exchange rate and fees are bad. Avoid it if you can.
- Payoneer: good for Upwork payouts and direct client payments, with reasonable fees.
- Direct bank wire: the lowest fees for large amounts, but slow (3-5 business days), and you need SWIFT details.
Always invoice in USD or EUR and convert to INR yourself through Wise or Payoneer. If you let the client convert to INR, you'll lose 3-5% on the exchange rate, and that adds up fast.
Contracts and payments
Clients ghosting on a large payment is one of the most common freelancer horror stories. Don't start significant work without a written agreement, ever.
Contract terms you need
- Scope of work: exactly what you'll deliver, in writing
- Payment terms: amounts, milestones, due dates
- Payment schedule: 30-50% upfront from new clients is reasonable
- Revision limits: "Two rounds of revisions included" stops endless changes
- Timeline: estimated delivery dates with a buffer
- Intellectual property: who owns the code after payment (usually the client)
- Termination clause: how either side can end the engagement and what's owed
- Late payment penalty: 1.5-2% per month is standard
For Indian clients, a simple agreement on Rs 100 stamp paper is legally enforceable. With international clients, a digital contract signed through DocuSign or Dropbox Sign (formerly HelloSign) works. Platforms like Upwork and Toptal handle contracts through their own systems.
Milestone payments
For project-based work, split the payment into milestones:
- 30% upfront, before you start
- 30% at the midpoint (usually after a working demo or the first major deliverable)
- 30% on completion (all deliverables submitted)
- 10% after a review period (7-14 days for the client to test and approve)
It protects both sides. You never have more than 30% of your effort unpaid, and the client gets checkpoints to verify progress. Few serious clients push back on this structure, and most appreciate the transparency.
Dealing with scope creep
Scope creep is the freelancer's nemesis. A client hires you to build a landing page, then they want a contact form, then an admin panel, a blog, and finally e-commerce. Each addition is "just a small thing," and somehow the project ends up three times the size.
How to handle it:
-
Define the scope precisely in the contract. Write "build a 5-page Next.js website with responsive design, contact form, and CMS integration," never just "build a website."
-
Respond to additions immediately. When a client asks "can we also add X?", reply within hours: "Absolutely, X is outside the current scope. I can add it for Rs [amount] with delivery by [date]. Would you like me to proceed?"
-
Track scope changes in writing. Every addition gets a short email or message recording what was added, the cost and the new timeline.
-
Say no when you need to. Some additions change the project completely. If a client who hired you for a static site now wants a full SaaS platform, that's a new project, so frame it that way. It might feel uncomfortable at first, but it protects you and the client relationship too.
Building a portfolio that gets clients
Your portfolio is your most important sales tool. Not your resume. Not your certifications.
What works:
- Real projects with context. Explain the problem, your approach, the technologies and the outcome instead of posting bare screenshots. "Reduced page load time by 60% by implementing SSR" is far more compelling than "Built a React website."
- Metrics wherever you have them: revenue generated, users served, performance improvements, time saved.
- Range, shown through 4-6 projects across different industries or problem types.
- Regular updates. A portfolio whose newest project is from 2022 suggests you haven't done anything interesting since.
What doesn't:
- Todo app clones and weather apps. Every bootcamp graduate has these.
- Projects that don't explain your role or contribution.
- A portfolio site that itself looks bad. If you're a web developer and your portfolio has broken layouts, that might be the worst first impression you can make.
Managing irregular income
Freelance income is irregular. You might earn Rs 3 lakh one month and Rs 40,000 the next, and if you spend based on the good months, the bad ones will crush you.
Three-account system
Use three bank accounts:
- Business account: every client payment lands here, and invoicing, expenses and tax payments go out from it.
- Tax account: move a fixed share of every payment (around 30%) into this savings account, where it sits untouched until the advance tax dates.
- Personal account: pay yourself a fixed "salary" each month from the business account, no matter what you earned that month.
The fixed salary is what makes this work. Add up your minimum monthly expenses (rent, food, utilities, insurance, EMIs), add 20%, and that becomes your monthly salary to yourself. In a good month the excess stays in the business account as a buffer, and in a bad month the buffer pays your salary.
It smooths out the swings and keeps you off the emotional roller coaster of feeling rich one month and anxious the next, which is far more exhausting than it sounds. Highly recommended.
Emergency fund
Before going freelance, save at least six months of expenses, because income usually comes in slowly in the first few months. Some people recommend three months. That's cutting it dangerously close.
Health insurance: don't skip it
When you leave a full-time job, you lose employer-provided health insurance. Freelancers in India often skip buying their own policy because they're young and healthy, which is a terrible gamble.
A single hospitalization in a decent hospital can cost Rs 5-15 lakh. Good health insurance for an individual under 35 costs Rs 8,000-15,000 per year. Do the math.
A Rs 10 lakh individual policy from a major insurer typically costs in the range of Rs 10,000-15,000 a year for someone young and healthy, and as a freelancer you may be able to claim it as a deduction. There's no good excuse for going without.
The loneliness factor
Freelancing is lonely. Nobody talks about this enough. Your coworkers are your laptop and your coffee mug. There are no water cooler conversations, no team lunches and no casual chats about the weekend, and over time that isolation wears on your mental health and creativity in ways you don't notice until it's bad.
What helps:
-
Co-working spaces. A desk costs roughly Rs 5,000-8,000/month in most Indian cities, and the point isn't the fancy coffee but the people. Being around others who are working, even if you never talk to them, cuts the isolation. Sounds silly. Works anyway.
-
Developer communities. Local meetup groups, open-source projects and Twitter/X tech conversations can become your professional social circle.
-
Regular calls with other freelancers. A small group of three or four freelance developers on a weekly 30-minute video call, sharing wins, venting about clients and talking through business problems, is useful for both emotional support and practical advice.
-
Exercise. Working alone from home, it's easy to become sedentary. A run or a gym session before starting work makes a real difference to mood and productivity, and skipping it is one of the most common mistakes home-based freelancers make.
When to freelance and when to take a job
Freelancing isn't for everyone, and there's nothing wrong with admitting that.
Freelance if:
- You have at least 3-5 years of professional experience and a strong network
- You're comfortable with income uncertainty and have savings to cushion it
- You're disciplined enough to work without external structure
- You have a marketable specialization (more than "I know React")
- You enjoy the business side: sales, invoicing, client management
- You value flexible time over stable income
Take a job if:
- You're early in your career and need to build skills quickly (nothing speeds up learning like working on a team with senior developers)
- You have big financial obligations (EMIs, dependents) that need predictable income
- Sales and client management drain you instead of exciting you
- You thrive on team collaboration and mentorship
- You want employer-provided benefits (insurance, PF, paid leave, hardware)
- You're in a phase of life where stability matters more than flexibility
Our India tech salary guide for 2026 can help you benchmark expected freelance earnings against full-time packages, so the decision rests on real data.
There's a middle path too: freelance on the side while you're employed. Take small projects in the evenings and on weekends to build a client base and a reputation. Once freelance income matches your salary consistently for 3-4 months, you have real data, and not only enthusiasm, to base the full-time decision on.
The numbers: what a ramp can look like
There's no reliable public data on Indian freelance developer earnings, so here's an illustrative path for an experienced developer, not a promise or anyone's real figures:
| Period | Plausible monthly income | Client mix |
|---|---|---|
| Months 1-3 | Well below your old salary | Platforms only |
| Months 4-12 | Around your old salary | Platforms + first direct clients |
| Year 2 | Above your old salary, if it's going well | Direct clients + referrals |
Remember that gross isn't take-home. After taxes, expenses (software, co-working, hardware, internet, accountant) and money set aside for months without work, effective take-home can be as low as 55-60% of gross. Compare that number, not the gross, with a salary.
Rate yourself higher than you think
Freelancing offers things a regular job rarely does: startups across continents, wildly different technical problems every few months, and the satisfaction of building a business from nothing. It also brings tax anxiety, difficult clients and stretches of loneliness.
If you do it, prepare properly. Save more before starting and build a network before you need one. Get an accountant from day one and consider a co-working space from week one. And if freelancing makes you want to build something bigger, our guide on building a SaaS product in India covers the natural next step for developer-entrepreneurs.
The one piece of advice worth pushing hardest: rate yourself higher than feels comfortable. Almost every freelance developer starts out undercharging, pricing on what feels "fair" next to Indian salaries instead of on the value delivered, and it takes months or years to fix.
What you're selling is expertise, reliability and problem-solving, not hours. A client paying you Rs 3,000/hour for work that saves them Rs 50,000 in developer hiring costs is getting a deal, not getting ripped off. Price accordingly.
Whatever you charge today is probably too low, so raise your rate for the next client and see what happens. Worst case, they negotiate you down a bit. Best case, they don't blink, and either way you end up closer to what you're worth.
Most of all, be honest with yourself about whether you want the freedom, with all the uncomfortable responsibility attached, or only the fantasy of it. Knowing which one before you leap will save you a lot of pain.
Anurag Sinha
Founder & Editor
Founder and editor of Tech Tips India. Writes tech guides, buying guides and explainers for Indian readers, with rupee pricing and local availability. Product roundups are researched from manufacturer specs and published reviews, not lab testing.
Stay Ahead in Tech
Get the latest tech news, tutorials, and reviews delivered straight to your inbox every week.
No spam ever. Unsubscribe anytime.
Comments (0)
Leave a Comment
All comments are moderated before appearing. Please be respectful and follow our community guidelines.
Related Articles

WhatsApp Tips and Hidden Features for Indians
WhatsApp hidden features: chat lock, formatting tricks, storage tips, privacy settings, and power user shortcuts.

Best Home Projectors in India: Complete Guide
A complete guide to the best home projectors in India across budget, mid-range, and premium segments, with tips on throw distance, lumens, and room setup.

Tech Salaries in India 2026: Real Numbers by Role
Real salary data for developers, DevOps, data scientists, and PMs across Bangalore, Hyderabad, Pune, and Delhi NCR in 2026.