Ranks 265 Indian cities on two things that genuinely vary by city: today's air quality and how the local fuel price compares to the national average. Dhanbad scores best today at 100/100, while Amaravati scores lowest at 57/100.
Each city starts at 100. Points come off for today's air quality (0 to 40, based on the CPCB AQI band) and for how far the local fuel price sits above the national average (0 to 30). Nothing else factors in - this isn't a full cost-of-living measure, only these two.
| Karnal Haryana | 100 | #1 | 45 | ₹102.50 |
| Panchgaon Haryana | 100 | #2 | 29 | ₹103.35 |
| Rohtak Haryana | 100 | #3 | 14 | ₹103.03 |
| Srinagar Jammu and Kashmir | 100 | #4 | 28 | — |
| Firozabad Uttar Pradesh | 100 | #5 | 50 | ₹101.63 |
| Gajraula Uttar Pradesh | 100 | #6 | 40 | ₹101.86 |
| Rishikesh Uttarakhand | 100 | #7 | 34 | ₹99.54 |
| Narnaul Haryana | 100 | #8 | 35 | ₹103.35 |
| Dhanbad Jharkhand | 100 | #9 | 20 | ₹105.22 |
| Vijayapura Karnataka | 99 | #10 | 45 | ₹111.68 |
| Bhiwandi Maharashtra | 99 | #11 | 37 | ₹111.21 |
| Cuttack Odisha | 99 | #12 | 35 | ₹109.33 |
| Cuddalore Tamil Nadu | 99 | #13 | 17 | ₹109.75 |
| Bettiah Bihar | 98 | #14 | 38 | ₹115.06 |
| Buxar Bihar | 98 | #15 | 47 | ₹114.65 |
| Purnia Bihar | 98 | #16 | 23 | ₹114.88 |
| Mangalore Karnataka | 98 | #17 | 36 | ₹115.01 |
| Koppal Karnataka | 98 | #18 | 35 | ₹112.06 |
| Bharatpur Rajasthan | 98 | #19 | 40 | ₹112.43 |
| Dungarpur Rajasthan | 98 | #20 | 26 | ₹114.15 |
| Kishanganj Bihar | 98 | #21 | 35 | ₹115.05 |
| Katni Madhya Pradesh | 97 | #22 | 26 | ₹115.60 |
| Damoh Madhya Pradesh | 97 | #23 | 6 | ₹115.32 |
| Silchar Assam | 90 | #24 | 92 | ₹106.43 |
| Vadodara Gujarat | 90 | #25 | 65 | ₹101.46 |
| Bhavnagar Gujarat | 90 | #26 | 55 | ₹103.41 |
| Surat Gujarat | 90 | #27 | 55 | ₹101.70 |
| Fatehabad Haryana | 90 | #28 | 96 | ₹103.57 |
| Sonipat Haryana | 90 | #29 | 54 | ₹103.35 |
| Puducherry Puducherry | 90 | #30 | 71 | ₹103.58 |
| Patiala Punjab | 90 | #31 | 84 | ₹105.33 |
| Mandikhera Haryana | 90 | #32 | 54 | ₹103.35 |
| Agartala Tripura | 90 | #33 | 63 | ₹104.96 |
| Leh Ladakh | 90 | #34 | 98 | — |
| Hubballi Karnataka | 89 | #35 | 62 | ₹111.68 |
| Kalaburagi Karnataka | 89 | #36 | 55 | ₹111.68 |
| Belapur Maharashtra | 89 | #37 | 78 | ₹111.21 |
| Byasanagar Odisha | 89 | #38 | 87 | ₹108.97 |
| Nayagarh Odisha | 89 | #39 | 62 | ₹109.15 |
| Barbil Odisha | 89 | #40 | 78 | ₹108.97 |
| Suakati Odisha | 89 | #41 | 88 | ₹108.97 |
| Samastipur Bihar | 88 | #42 | 67 | ₹113.35 |
| Manguraha Bihar | 88 | #43 | 87 | ₹113.37 |
| Maihar Madhya Pradesh | 88 | #44 | 62 | ₹114.54 |
| Kannur Kerala | 88 | #45 | 82 | ₹113.82 |
| Nanded Maharashtra | 88 | #46 | 97 | ₹113.17 |
| Khairthal Rajasthan | 88 | #47 | 68 | ₹113.19 |
| Dholpur Rajasthan | 88 | #48 | 93 | ₹113.33 |
| Barrackpore West Bengal | 88 | #49 | 62 | ₹113.51 |
| Karwar Karnataka | 88 | #50 | 67 | ₹112.05 |
| Madhubani Bihar | 88 | #51 | 100 | ₹114.50 |
| Nellore Andhra Pradesh | 87 | #52 | 93 | ₹118.14 |
| Tirumala Andhra Pradesh | 87 | #53 | 74 | ₹117.41 |
| Chittoor Andhra Pradesh | 87 | #54 | 67 | ₹118.34 |
| Vapi Gujarat | 80 | #55 | 153 | ₹102.04 |
| Bhiwani Haryana | 80 | #56 | 118 | ₹103.29 |
| Jind Haryana | 80 | #57 | 163 | ₹102.78 |
| Manesar Haryana | 80 | #58 | 138 | ₹103.35 |
| Jorapokhar Jharkhand | 80 | #59 | 123 | ₹106.19 |
| Aizawl Mizoram | 80 | #60 | 113 | ₹106.54 |
| Baddi Himachal Pradesh | 80 | #61 | 175 | ₹103.15 |
| Kohima Nagaland | 80 | #62 | 175 | ₹104.87 |
| Bulandshahr Uttar Pradesh | 80 | #63 | 151 | ₹102.75 |
| Chikkaballapur Karnataka | 79 | #64 | 150 | ₹111.68 |
| Kalyan Maharashtra | 79 | #65 | 187 | ₹111.21 |
| Keonjhar Odisha | 79 | #66 | 113 | ₹108.97 |
| Paradeep Odisha | 79 | #67 | 135 | ₹108.97 |
| Talcher Odisha | 79 | #68 | 141 | ₹108.97 |
| Balasore Odisha | 79 | #69 | 154 | ₹108.97 |
| Gangtok Sikkim | 79 | #70 | 125 | ₹110.60 |
| Dombivli Maharashtra | 79 | #71 | 143 | ₹111.21 |
| Angul Odisha | 79 | #72 | 190 | ₹110.49 |
| Begusarai Bihar | 78 | #73 | 123 | ₹113.09 |
| Sitamarhi Bihar | 78 | #74 | 147 | ₹114.76 |
| Pithampur Madhya Pradesh | 78 | #75 | 137 | ₹114.54 |
| Ratlam Madhya Pradesh | 78 | #76 | 130 | ₹114.65 |
| Yadgir Karnataka | 78 | #77 | 138 | ₹111.77 |
| Karauli Rajasthan | 78 | #78 | 188 | ₹113.47 |
| Kota Rajasthan | 78 | #79 | 200 | ₹112.21 |
| Rajkot Gujarat | 78 | #80 | 200 | ₹115.01 |
| Naharlagun Arunachal Pradesh | 70 | #81 | 257 | ₹97.96 |
| Gummidipoondi Tamil Nadu | 70 | #82 | 290 | ₹107.76 |
| Gorakhpur Uttar Pradesh | 70 | #83 | 290 | ₹102.13 |
| Vrindavan Uttar Pradesh | 70 | #84 | 286 | ₹101.86 |
| Charkhi Dadri Haryana | 70 | #85 | 257 | ₹103.35 |
| Ballabgarh Haryana | 70 | #86 | 271 | ₹103.35 |
| Madikeri Karnataka | 69 | #87 | 229 | ₹111.68 |
| Milupara Chhattisgarh | 69 | #88 | 271 | ₹108.30 |
| Sasaram Bihar | 68 | #89 | 297 | ₹114.88 |
| Motihari Bihar | 68 | #90 | 243 | ₹114.78 |
| Thrissur Kerala | 68 | #91 | 271 | ₹114.19 |
| Parbhani Maharashtra | 68 | #92 | 214 | ₹113.17 |
| Barmer Rajasthan | 68 | #93 | 243 | ₹114.15 |
| Bihar Sharif Bihar | 68 | #94 | 214 | ₹113.97 |
| Banswara Rajasthan | 68 | #95 | 257 | ₹114.16 |
| Kurnool Andhra Pradesh | 67 | #96 | 286 | ₹117.95 |
| Nalbari Assam | 60 | #97 | 324 | ₹106.02 |
| Sivasagar Assam | 60 | #98 | 413 | ₹105.73 |
| Chandigarh Chandigarh | 60 | #99 | 456 | ₹101.54 |
| Korba Chhattisgarh | 60 | #100 | 341 | ₹107.74 |
| Raipur Chhattisgarh | 60 | #101 | 463 | ₹108.06 |
| Byrnihat Assam | 60 | #102 | 303 | ₹105.73 |
| Guwahati Assam | 60 | #103 | 406 | ₹105.73 |
| Vatva Gujarat | 60 | #104 | 400 | ₹102.04 |
| Faridabad Haryana | 60 | #105 | 353 | ₹103.28 |
| Ahmedabad Gujarat | 60 | #106 | 463 | ₹101.83 |
| Ankleshwar Gujarat | 60 | #107 | 469 | ₹102.04 |
| Gandhinagar Gujarat | 60 | #108 | 494 | ₹101.93 |
| Mehsana Gujarat | 60 | #109 | 494 | ₹101.91 |
| Gurugram Haryana | 60 | #110 | 394 | ₹103.35 |
| Panipat Haryana | 60 | #111 | 353 | ₹102.25 |
| Shillong Meghalaya | 60 | #112 | 450 | ₹102.60 |
| Amritsar Punjab | 60 | #113 | 371 | ₹105.56 |
| Bathinda Punjab | 60 | #114 | 312 | ₹104.72 |
| Jalandhar Punjab | 60 | #115 | 481 | ₹104.82 |
| Khanna Punjab | 60 | #116 | 444 | ₹105.56 |
| Ludhiana Punjab | 60 | #117 | 338 | ₹105.60 |
| Mandi Gobindgarh Punjab | 60 | #118 | 444 | ₹105.56 |
| Chennai Tamil Nadu | 60 | #119 | 469 | ₹107.74 |
| Agra Uttar Pradesh | 60 | #120 | 406 | ₹101.54 |
| Anpara Uttar Pradesh | 60 | #121 | 394 | ₹101.86 |
| Baghpat Uttar Pradesh | 60 | #122 | 494 | ₹101.86 |
| Baraut Uttar Pradesh | 60 | #123 | 418 | ₹101.86 |
| Bareilly Uttar Pradesh | 60 | #124 | 475 | ₹101.97 |
| Ghaziabad Uttar Pradesh | 60 | #125 | 494 | ₹101.88 |
| Fatehpur Sikri Uttar Pradesh | 60 | #126 | 324 | ₹101.86 |
| Greater Noida Uttar Pradesh | 60 | #127 | 406 | ₹102.06 |
| Hapur Uttar Pradesh | 60 | #128 | 494 | ₹101.86 |
| Jhansi Uttar Pradesh | 60 | #129 | 438 | ₹101.55 |
| Kanpur Uttar Pradesh | 60 | #130 | 413 | ₹101.59 |
| Khora Uttar Pradesh | 60 | #131 | 362 | ₹101.86 |
| Khurja Uttar Pradesh | 60 | #132 | 320 | ₹101.86 |
| Meerut Uttar Pradesh | 60 | #133 | 494 | ₹101.51 |
| Lucknow Uttar Pradesh | 60 | #134 | 494 | ₹101.86 |
| Mathura Uttar Pradesh | 60 | #135 | 371 | ₹101.32 |
| Modinagar Uttar Pradesh | 60 | #136 | 450 | ₹101.86 |
| Moradabad Uttar Pradesh | 60 | #137 | 481 | ₹102.56 |
| Muzaffarnagar Uttar Pradesh | 60 | #138 | 413 | ₹102.09 |
| Noida Uttar Pradesh | 60 | #139 | 488 | ₹102.12 |
| Prayagraj Uttar Pradesh | 60 | #140 | 419 | ₹101.86 |
| Raebareli Uttar Pradesh | 60 | #141 | 456 | ₹102.31 |
| Shamli Uttar Pradesh | 60 | #142 | 469 | ₹101.86 |
| Varanasi Uttar Pradesh | 60 | #143 | 400 | ₹102.51 |
| Dehradun Uttarakhand | 60 | #144 | 406 | ₹100.55 |
| Nagaon Assam | 60 | #145 | 329 | ₹106.98 |
| Panchkula Haryana | 60 | #146 | 312 | ₹103.61 |
| Ambala Haryana | 60 | #147 | 463 | ₹103.26 |
| Bahadurgarh Haryana | 60 | #148 | 347 | ₹103.35 |
| Rupnagar Punjab | 60 | #149 | 494 | ₹105.56 |
| Yamuna Nagar Haryana | 60 | #150 | 438 | ₹103.03 |
| Bhilai Chhattisgarh | 59 | #151 | 456 | ₹108.30 |
| Bilaspur Chhattisgarh | 59 | #152 | 488 | ₹108.76 |
| Chhal Chhattisgarh | 59 | #153 | 341 | ₹108.30 |
| Tumidih Chhattisgarh | 59 | #154 | 388 | ₹108.30 |
| Ambernath Maharashtra | 59 | #155 | 406 | ₹111.21 |
| Mysuru Karnataka | 59 | #156 | 312 | ₹111.68 |
| Ramanagara Karnataka | 59 | #157 | 382 | ₹111.21 |
| Shivamogga Karnataka | 59 | #158 | 371 | ₹111.68 |
| Bengaluru Karnataka | 59 | #159 | 431 | ₹110.93 |
| Chamarajanagar Karnataka | 59 | #160 | 335 | ₹111.03 |
| Dharwad Karnataka | 59 | #161 | 494 | ₹110.71 |
| Haveri Karnataka | 59 | #162 | 335 | ₹111.45 |
| Bagalkot Karnataka | 59 | #163 | 359 | ₹111.47 |
| Rairangpur Odisha | 59 | #164 | 406 | ₹108.97 |
| Rourkela Odisha | 59 | #165 | 481 | ₹108.97 |
| Pune Maharashtra | 59 | #166 | 488 | ₹111.52 |
| Sangli Maharashtra | 59 | #167 | 318 | ₹111.69 |
| Navi Mumbai Maharashtra | 59 | #168 | 388 | ₹111.31 |
| Pimpri-Chinchwad Maharashtra | 59 | #169 | 444 | ₹111.21 |
| Mumbai Maharashtra | 59 | #170 | 438 | ₹111.21 |
| Baripada Odisha | 59 | #171 | 341 | ₹109.43 |
| Bhubaneswar Odisha | 59 | #172 | 469 | ₹108.97 |
| Brajrajnagar Odisha | 59 | #173 | 394 | ₹108.97 |
| Mahad Maharashtra | 59 | #174 | 341 | ₹111.21 |
| Malegaon Maharashtra | 59 | #175 | 481 | ₹111.21 |
| Mira-Bhayandar Maharashtra | 59 | #176 | 438 | ₹111.21 |
| Thane Maharashtra | 59 | #177 | 413 | ₹111.38 |
| Ulhasnagar Maharashtra | 59 | #178 | 413 | ₹111.21 |
| Tensa Odisha | 59 | #179 | 413 | ₹108.97 |
| Thoothukudi Tamil Nadu | 59 | #180 | 388 | ₹108.44 |
| Davanagere Karnataka | 59 | #181 | 329 | ₹111.68 |
| Boisar Maharashtra | 59 | #182 | 488 | ₹111.21 |
| Bileipada Odisha | 59 | #183 | 425 | ₹108.97 |
| Badlapur Maharashtra | 59 | #184 | 382 | ₹111.21 |
| Virar Maharashtra | 59 | #185 | 463 | ₹111.21 |
| Araria Bihar | 58 | #186 | 341 | ₹115.07 |
| Arrah Bihar | 58 | #187 | 494 | ₹113.72 |
| Aurangabad Bihar | 58 | #188 | 488 | ₹114.79 |
| Bhagalpur Bihar | 58 | #189 | 419 | ₹114.20 |
| Darbhanga Bihar | 58 | #190 | 382 | ₹114.07 |
| Gaya Bihar | 58 | #191 | 400 | ₹114.52 |
| Hajipur Bihar | 58 | #192 | 388 | ₹113.42 |
| Muzaffarpur Bihar | 58 | #193 | 425 | ₹114.10 |
| Patna Bihar | 58 | #194 | 488 | ₹113.37 |
| Rajgir Bihar | 58 | #195 | 444 | ₹113.37 |
| Mandideep Madhya Pradesh | 58 | #196 | 335 | ₹114.54 |
| Singrauli Madhya Pradesh | 58 | #197 | 406 | ₹114.64 |
| Ujjain Madhya Pradesh | 58 | #198 | 488 | ₹114.90 |
| Ahmednagar Maharashtra | 58 | #199 | 365 | ₹111.71 |
| Akola Maharashtra | 58 | #200 | 450 | ₹112.06 |
| Gwalior Madhya Pradesh | 58 | #201 | 396 | ₹114.48 |
| Indore Madhya Pradesh | 58 | #202 | 488 | ₹114.61 |
| Jabalpur Madhya Pradesh | 58 | #203 | 475 | ₹114.62 |
| Amravati Maharashtra | 58 | #204 | 394 | ₹112.78 |
| Chandrapur Maharashtra | 58 | #205 | 438 | ₹112.93 |
| Dhule Maharashtra | 58 | #206 | 335 | ₹112.14 |
| Hingoli Maharashtra | 58 | #207 | 425 | ₹113.17 |
| Jalna Maharashtra | 58 | #208 | 347 | ₹113.18 |
| Bhopal Madhya Pradesh | 58 | #209 | 488 | ₹114.54 |
| Dewas Madhya Pradesh | 58 | #210 | 463 | ₹114.97 |
| Satara Maharashtra | 58 | #211 | 388 | ₹112.71 |
| Solapur Maharashtra | 58 | #212 | 365 | ₹111.84 |
| Nagpur Maharashtra | 58 | #213 | 469 | ₹111.72 |
| Latur Maharashtra | 58 | #214 | 382 | ₹113.09 |
| Nashik Maharashtra | 58 | #215 | 469 | ₹112.46 |
| Ajmer Rajasthan | 58 | #216 | 450 | ₹112.31 |
| Alwar Rajasthan | 58 | #217 | 450 | ₹113.34 |
| Jaipur Rajasthan | 58 | #218 | 481 | ₹112.66 |
| Jalore Rajasthan | 58 | #219 | 329 | ₹113.90 |
| Jhalawar Rajasthan | 58 | #220 | 312 | ₹113.19 |
| Jhunjhunu Rajasthan | 58 | #221 | 359 | ₹114.15 |
| Jodhpur Rajasthan | 58 | #222 | 382 | ₹112.49 |
| Sikar Rajasthan | 58 | #223 | 463 | ₹113.76 |
| Sirohi Rajasthan | 58 | #224 | 335 | ₹113.99 |
| Tonk Rajasthan | 58 | #225 | 481 | ₹113.51 |
| Udaipur Rajasthan | 58 | #226 | 444 | ₹113.46 |
| Nagaur Rajasthan | 58 | #227 | 394 | ₹113.69 |
| Pali Rajasthan | 58 | #228 | 463 | ₹113.26 |
| Pratapgarh Rajasthan | 58 | #229 | 365 | ₹113.19 |
| Rajsamand Rajasthan | 58 | #230 | 444 | ₹113.19 |
| Sawai Madhopur Rajasthan | 58 | #231 | 400 | ₹113.53 |
| Baran Rajasthan | 58 | #232 | 450 | ₹112.94 |
| Bhiwadi Rajasthan | 58 | #233 | 425 | ₹113.19 |
| Bikaner Rajasthan | 58 | #234 | 463 | ₹114.15 |
| Chittorgarh Rajasthan | 58 | #235 | 438 | ₹112.51 |
| Churu Rajasthan | 58 | #236 | 388 | ₹114.15 |
| Dausa Rajasthan | 58 | #237 | 359 | ₹113.71 |
| Asansol West Bengal | 58 | #238 | 425 | ₹113.51 |
| Durgapur West Bengal | 58 | #239 | 444 | ₹113.51 |
| Howrah West Bengal | 58 | #240 | 494 | ₹113.50 |
| Kolkata West Bengal | 58 | #241 | 494 | ₹113.51 |
| Siliguri West Bengal | 58 | #242 | 413 | ₹113.51 |
| Saharsa Bihar | 58 | #243 | 425 | ₹113.37 |
| Kolhapur Maharashtra | 58 | #244 | 306 | ₹112.13 |
| Sagar Madhya Pradesh | 58 | #245 | 456 | ₹114.20 |
| Beed Maharashtra | 58 | #246 | 475 | ₹113.03 |
| Hanumangarh Rajasthan | 58 | #247 | 450 | ₹114.16 |
| Jaisalmer Rajasthan | 58 | #248 | 371 | ₹114.15 |
| Bhilwara Rajasthan | 58 | #249 | 431 | ₹113.40 |
| Bundi Rajasthan | 58 | #250 | 341 | ₹112.70 |
| Haldia West Bengal | 58 | #251 | 469 | ₹113.51 |
| Belgaum Karnataka | 58 | #252 | 382 | ₹115.01 |
| Anantapur Andhra Pradesh | 57 | #256 | 335 | ₹117.61 |
| Eluru Andhra Pradesh | 57 | #257 | 365 | ₹117.91 |
| Kadapa Andhra Pradesh | 57 | #258 | 425 | ₹116.62 |
| Thiruvananthapuram Kerala | 57 | #259 | 324 | ₹115.49 |
| Hyderabad Telangana | 57 | #260 | 494 | ₹116.15 |
| Tirupati Andhra Pradesh | 57 | #261 | 324 | ₹117.41 |
| Guntur Andhra Pradesh | 57 | #262 | 335 | ₹117.68 |
| Satna Madhya Pradesh | 57 | #263 | 400 | ₹116.02 |
| Amaravati Andhra Pradesh | 57 | #264 | 353 | ₹117.41 |
| Eloor Kerala | 57 | #265 | 312 | ₹115.49 |
| Vijayawada Andhra Pradesh | 57 | #253 | 469 | ₹117.25 |
| Visakhapatnam Andhra Pradesh | 57 | #254 | 353 | ₹117.41 |
| Rajamahendravaram Andhra Pradesh | 57 | #255 | 469 | ₹117.41 |
The Cost of Living & Breathing Index rolls two numbers that already live separately on this site, today's Air Quality Index reading and how the local fuel price compares to that day's national average, into one 0 to 100 score per city. It exists for a practical reason: someone weighing a job offer in one city against another, or deciding where to relocate, usually ends up opening two separate pages and doing that comparison by hand. This page does it for over 200 Indian cities at once, however many Central Pollution Control Board (CPCB) stations reported a reading that day, so a city like Kurukshetra in Haryana, clean air and fuel close to the national average, scores 100, while a city like Rajamahendravaram in Andhra Pradesh, an AQI of 306 on the day this was checked, scores 57 on the same scale.
Every city starts at 100 points. Today's CPCB Air Quality Index reading takes off up to 40 of those: nothing comes off at AQI 50 or under (CPCB's own Good band), 10 points at 51 to 100, 20 at 101 to 200, 30 at 201 to 300, and the full 40 at 301 and above. Fuel price takes off up to 30 more, scaled to how far the city's petrol price sits above that day's national average, nothing comes off if it's at or below average. Most Indian states set petrol at the state level rather than city by city, so cities sharing a state generally share this half of the score too. Nothing else feeds into it. Gold price and a flat seasonal number were both tried and dropped early on, since neither actually varies from one city to the next on a given day, which made the score worse, not better, at telling cities apart.
There's no separate danger scale here the way there is for AQI on its own, just how much air quality and fuel price together have chipped away from a perfect 100. Because air quality alone can only cost 40 points and fuel only 30, the lowest a city can score is 30, not zero, so anything under 60 already reflects close to the worst combination this scale can show, not a city in visible crisis. Above 80 means both inputs are close to their best band: air clean enough to skip a mask outdoors, and fuel at or below the national average that day. Anything sitting in the 60s or below is worth clicking through to that city's own page, since the combined score alone won't tell you which of the two, dirtier air or pricier fuel, is actually driving it down.
Scores recompute once a day, so checking first thing gives that day's actual number rather than yesterday's. It's most useful side by side, comparing two or three specific cities before a move or a relocation decision, rather than read in isolation, since one city's score alone means little without something to measure it against. It's worth saying plainly what this isn't: it's not a full cost of living measure, rent, groceries, school fees and healthcare aren't in it at all, it only tracks the two things named in its formula above. Anyone actually relocating should treat this as a quick first filter alongside the fuel and air quality pages themselves, not a replacement for the harder homework a real move deserves.
Relocation impact: Comparing job offers or a possible move across two cities usually means opening the AQI page for one and the fuel page for the other, then doing the comparison in your head; collapsing both into one number makes that comparison faster, not more accurate, but faster is still useful. A real example: on the day this was checked, Kurukshetra in Haryana scored 100 (AQI 17, fuel close to the national average) while Rajamahendravaram in Andhra Pradesh scored 57 (AQI 306, fuel above average), a gap that says more at a glance than two raw numbers on two different scales. Someone weighing an offer between two similarly priced cities, in salary and rent terms, can use a sustained gap in this score as one more real data point, air quality especially matters for anyone with young children or an existing respiratory condition, without having to reconcile two different measurement scales themselves.
Daily planning impact: For residents rather than people relocating, the two inputs matter on different timescales. Fuel price is a recurring cost that shows up every fill-up, already covered in depth on this site's own fuel price page. Air quality is a same-day decision: whether an outdoor run, a child's playtime outside, or a two-wheeler commute without a mask makes sense today. A city sitting consistently in the 80s or 90s is one where neither input demands much daily thought; a city that's dropped into the 60s or below is worth a quick check of which half moved, a bad-air day worth planning around, or a fuel price that's climbed enough to matter for a delivery rider or daily commuter budgeting a tank at a time.
A daily 0-100 score for every Indian city with a real CPCB air quality reading, combining today's air quality and how the local fuel price compares to the national average into one number.
Every city starts at 100. Up to 40 points come off for today's air quality, based on the CPCB AQI band, and up to 30 points come off for how far the local fuel price sits above the national average. Nothing else factors in.
80-100 is shown in green (good), 60-79 in yellow (moderate), and below 60 in red (poor) - reflecting worse air quality, a higher-than-average fuel price, or both.
A city scores 100 when today's AQI is 50 or below (the Good band, a zero deduction) and its fuel price is at or below the national average (also a zero deduction). Both can genuinely land on their best case the same day.
Scores recompute once a day at 00:01 IST from the latest available AQI and fuel data, so the number stays fixed for the rest of that day - checking again a few hours later won't change it.
No. It intentionally covers only the two things that genuinely vary by city day to day: air quality and fuel price versus the national average. Housing, groceries, transport fares, and other everyday costs aren't included.
That shifts day to day with which cities post a low AQI and a near-average fuel price - there's no fixed regional pattern. Check the live table above for today's actual ranking.
Once a day, computed at 00:01 IST. The 'Updated' timestamp on the page shows exactly when the current numbers were computed.
Yes. Use the search box above the table to filter to specific cities, or open any city's own page for its full score breakdown and recent trend.
Most cost-of-living indexes are periodic surveys covering housing, groceries, and services. This one tracks only air quality and fuel price, refreshed daily from the same live government and market data this site already tracks for its other pages.