The best angle for solar panels where you live
The old rule says tilt your panels to your latitude. It is close, but cloudy places want flatter panels and winter wants steeper ones. Enter a location for its real best angle, worked out from 20 years of NASA data.

Your location
Best tilt angles for U.S. cities
| City | Latitude | All year | Winter | Summer | Flat vs best | kWh per kW |
|---|---|---|---|---|---|---|
| Anchorage, AK | 61.2° | 52° | 80° | 28° | 76% | 948 |
| Huntsville, AL | 34.7° | 32° | 58° | 6° | 88% | 1,356 |
| Mobile, AL | 30.7° | 29° | 54° | 2° | 90% | 1,483 |
| Birmingham, AL | 33.5° | 31° | 57° | 4° | 89% | 1,365 |
| Montgomery, AL | 32.3° | 31° | 56° | 3° | 89% | 1,393 |
| Little Rock, AR | 34.7° | 32° | 58° | 6° | 88% | 1,360 |
| Phoenix, AZ | 33.6° | 33° | 59° | 3° | 87% | 1,794 |
| Tucson, AZ | 32.2° | 32° | 58° | 2° | 87% | 1,821 |
| Mesa, AZ | 33.4° | 33° | 59° | 3° | 87% | 1,792 |
| Gilbert, AZ | 33.3° | 33° | 59° | 3° | 87% | 1,796 |
| Chandler, AZ | 33.3° | 33° | 59° | 3° | 87% | 1,798 |
| Glendale, AZ | 33.5° | 33° | 59° | 3° | 87% | 1,795 |
| Scottsdale, AZ | 33.7° | 33° | 59° | 4° | 87% | 1,789 |
| Peoria, AZ | 33.8° | 33° | 59° | 4° | 86% | 1,796 |
| Tempe, AZ | 33.4° | 33° | 59° | 3° | 87% | 1,796 |
| Surprise, AZ | 33.7° | 33° | 59° | 4° | 86% | 1,799 |
| Los Angeles, CA | 34.0° | 32° | 58° | 5° | 87% | 1,718 |
| San Diego, CA | 32.8° | 31° | 57° | 4° | 88% | 1,698 |
| San Jose, CA | 37.3° | 33° | 60° | 8° | 86% | 1,667 |
| San Francisco, CA | 37.7° | 33° | 59° | 8° | 86% | 1,540 |
| Fresno, CA | 36.8° | 33° | 60° | 7° | 87% | 1,692 |
| Sacramento, CA | 38.6° | 33° | 61° | 9° | 86% | 1,662 |
| Long Beach, CA | 33.8° | 32° | 58° | 5° | 87% | 1,700 |
| Oakland, CA | 37.8° | 33° | 60° | 8° | 86% | 1,628 |
| Bakersfield, CA | 35.4° | 32° | 60° | 6° | 87% | 1,755 |
| Anaheim, CA | 33.9° | 32° | 58° | 4° | 87% | 1,739 |
| Stockton, CA | 38.0° | 33° | 61° | 8° | 86% | 1,677 |
| Riverside, CA | 33.9° | 33° | 59° | 4° | 87% | 1,772 |
| Irvine, CA | 33.7° | 32° | 58° | 4° | 87% | 1,717 |
| Santa Ana, CA | 33.7° | 32° | 58° | 4° | 87% | 1,716 |
| Chula Vista, CA | 32.6° | 31° | 57° | 4° | 88% | 1,704 |
| Santa Clarita, CA | 34.4° | 33° | 59° | 5° | 87% | 1,772 |
| Fremont, CA | 37.5° | 33° | 60° | 8° | 86% | 1,648 |
| San Bernardino, CA | 34.1° | 33° | 59° | 4° | 86% | 1,798 |
| Fontana, CA | 34.1° | 33° | 59° | 4° | 87% | 1,785 |
| Modesto, CA | 37.6° | 33° | 61° | 8° | 86% | 1,683 |
| Moreno Valley, CA | 33.9° | 33° | 59° | 4° | 87% | 1,784 |
| Oxnard, CA | 34.2° | 32° | 58° | 5° | 87% | 1,737 |
| Huntington Beach, CA | 33.7° | 32° | 58° | 5° | 87% | 1,701 |
| Glendale, CA | 34.2° | 32° | 59° | 5° | 87% | 1,751 |
| Ontario, CA | 34.0° | 33° | 59° | 4° | 87% | 1,769 |
| Elk Grove, CA | 38.4° | 33° | 61° | 9° | 86% | 1,666 |
| Santa Rosa, CA | 38.4° | 33° | 61° | 9° | 86% | 1,636 |
| Rancho Cucamonga, CA | 34.1° | 33° | 59° | 4° | 87% | 1,781 |
| Oceanside, CA | 33.2° | 32° | 57° | 4° | 88% | 1,707 |
| Garden Grove, CA | 33.8° | 32° | 58° | 5° | 87% | 1,715 |
| Lancaster, CA | 34.7° | 33° | 60° | 5° | 86% | 1,797 |
| Roseville, CA | 38.8° | 33° | 61° | 9° | 86% | 1,651 |
| Palmdale, CA | 34.6° | 33° | 60° | 5° | 86% | 1,800 |
| Corona, CA | 33.9° | 32° | 58° | 4° | 87% | 1,753 |
| Salinas, CA | 36.7° | 33° | 60° | 7° | 86% | 1,701 |
| Hayward, CA | 37.6° | 33° | 60° | 8° | 86% | 1,633 |
| Sunnyvale, CA | 37.4° | 33° | 60° | 8° | 86% | 1,641 |
| Denver, CO | 39.8° | 39° | 65° | 10° | 82% | 1,642 |
| Colorado Springs, CO | 38.9° | 38° | 64° | 10° | 82% | 1,694 |
| Aurora, CO | 39.7° | 39° | 65° | 10° | 82% | 1,648 |
| Fort Collins, CO | 40.5° | 39° | 65° | 11° | 82% | 1,589 |
| Lakewood, CO | 39.7° | 39° | 64° | 10° | 82% | 1,643 |
| Bridgeport, CT | 41.2° | 36° | 62° | 12° | 85% | 1,304 |
| Washington, DC | 38.9° | 35° | 61° | 9° | 85% | 1,335 |
| Jacksonville, FL | 30.3° | 28° | 53° | 2° | 91% | 1,441 |
| Miami, FL | 25.8° | 24° | 49° | 0° | 93% | 1,499 |
| Tampa, FL | 28.0° | 27° | 52° | 1° | 91% | 1,522 |
| Orlando, FL | 28.5° | 27° | 52° | 1° | 91% | 1,465 |
| Port St. Lucie, FL | 27.3° | 26° | 50° | 0° | 92% | 1,475 |
| St. Petersburg, FL | 27.8° | 27° | 51° | 0° | 91% | 1,537 |
| Cape Coral, FL | 26.6° | 26° | 50° | 0° | 92% | 1,544 |
| Hialeah, FL | 25.9° | 25° | 49° | 0° | 93% | 1,488 |
| Tallahassee, FL | 30.5° | 30° | 54° | 2° | 90% | 1,447 |
| Fort Lauderdale, FL | 26.1° | 25° | 49° | 0° | 93% | 1,485 |
| Pembroke Pines, FL | 26.0° | 25° | 49° | 0° | 93% | 1,478 |
| Hollywood, FL | 26.0° | 25° | 49° | 0° | 93% | 1,489 |
| Atlanta, GA | 33.8° | 32° | 57° | 5° | 88% | 1,374 |
| Columbus, GA | 32.5° | 31° | 56° | 4° | 89% | 1,391 |
| Augusta, GA | 33.4° | 32° | 57° | 4° | 88% | 1,438 |
| Macon, GA | 32.8° | 31° | 56° | 4° | 89% | 1,415 |
| Honolulu, HI | 21.3° | 18° | 45° | 0° | 96% | 1,676 |
| Urban Honolulu, HI | 21.3° | 18° | 45° | 0° | 96% | 1,676 |
| Des Moines, IA | 41.6° | 39° | 66° | 12° | 83% | 1,393 |
| Boise, ID | 43.6° | 38° | 66° | 14° | 83% | 1,519 |
| Chicago, IL | 41.8° | 36° | 63° | 12° | 85% | 1,269 |
| Aurora, IL | 41.8° | 37° | 64° | 12° | 85% | 1,296 |
| Naperville, IL | 41.7° | 36° | 64° | 12° | 85% | 1,291 |
| Joliet, IL | 41.5° | 36° | 64° | 12° | 85% | 1,293 |
| Indianapolis, IN | 39.8° | 35° | 62° | 11° | 86% | 1,294 |
| Fort Wayne, IN | 41.1° | 35° | 63° | 12° | 86% | 1,271 |
| Wichita, KS | 37.7° | 36° | 62° | 9° | 84% | 1,517 |
| Overland Park, KS | 38.9° | 36° | 62° | 10° | 84% | 1,425 |
| Kansas City, KS | 39.1° | 37° | 63° | 10° | 84% | 1,423 |
| Olathe, KS | 38.9° | 37° | 62° | 10° | 84% | 1,429 |
| Louisville, KY | 38.2° | 34° | 60° | 9° | 87% | 1,302 |
| Lexington, KY | 38.0° | 34° | 60° | 9° | 87% | 1,294 |
| New Orleans, LA | 30.1° | 28° | 53° | 2° | 91% | 1,434 |
| Baton Rouge, LA | 30.4° | 29° | 54° | 2° | 90% | 1,420 |
| Shreveport, LA | 32.5° | 30° | 56° | 3° | 89% | 1,369 |
| Boston, MA | 42.3° | 37° | 63° | 12° | 84% | 1,297 |
| Worcester, MA | 42.3° | 38° | 64° | 12° | 84% | 1,280 |
| Springfield, MA | 42.1° | 37° | 63° | 12° | 84% | 1,268 |
| Baltimore, MD | 39.3° | 35° | 61° | 10° | 85% | 1,336 |
| Detroit, MI | 42.4° | 35° | 63° | 13° | 86% | 1,251 |
| Grand Rapids, MI | 43.0° | 34° | 63° | 13° | 87% | 1,229 |
| Minneapolis, MN | 45.0° | 41° | 68° | 15° | 81% | 1,352 |
| St. Paul, MN | 44.9° | 41° | 68° | 15° | 81% | 1,353 |
| Kansas City, MO | 39.1° | 37° | 63° | 10° | 84% | 1,418 |
| St. Louis, MO | 38.6° | 35° | 61° | 9° | 86% | 1,335 |
| Springfield, MO | 37.2° | 35° | 60° | 8° | 86% | 1,399 |
| Charlotte, NC | 35.2° | 34° | 59° | 6° | 87% | 1,417 |
| Raleigh, NC | 35.8° | 34° | 59° | 7° | 86% | 1,415 |
| Greensboro, NC | 36.1° | 34° | 59° | 7° | 86% | 1,394 |
| Durham, NC | 36.0° | 34° | 59° | 7° | 86% | 1,404 |
| Winston-Salem, NC | 36.1° | 35° | 59° | 7° | 86% | 1,397 |
| Fayetteville, NC | 35.1° | 34° | 58° | 6° | 87% | 1,426 |
| Cary, NC | 35.8° | 34° | 59° | 7° | 86% | 1,413 |
| Omaha, NE | 41.3° | 39° | 65° | 12° | 83% | 1,433 |
| Lincoln, NE | 40.8° | 39° | 65° | 12° | 83% | 1,459 |
| Newark, NJ | 40.7° | 36° | 62° | 11° | 85% | 1,296 |
| Jersey City, NJ | 40.7° | 36° | 62° | 11° | 85% | 1,303 |
| Paterson, NJ | 40.9° | 36° | 62° | 11° | 85% | 1,283 |
| Albuquerque, NM | 35.1° | 35° | 60° | 6° | 85% | 1,823 |
| Las Vegas, NV | 36.2° | 35° | 61° | 7° | 85% | 1,827 |
| Henderson, NV | 36.0° | 35° | 61° | 6° | 85% | 1,829 |
| North Las Vegas, NV | 36.3° | 35° | 61° | 7° | 85% | 1,823 |
| Reno, NV | 39.5° | 35° | 63° | 9° | 85% | 1,680 |
| New York, NY | 40.7° | 35° | 61° | 11° | 85% | 1,313 |
| Buffalo, NY | 42.9° | 34° | 62° | 13° | 87% | 1,168 |
| Yonkers, NY | 40.9° | 36° | 62° | 11° | 85% | 1,298 |
| Rochester, NY | 43.2° | 34° | 62° | 13° | 87% | 1,165 |
| Columbus, OH | 40.0° | 34° | 61° | 11° | 87% | 1,257 |
| Cleveland, OH | 41.5° | 32° | 60° | 12° | 89% | 1,162 |
| Cincinnati, OH | 39.1° | 34° | 61° | 10° | 87% | 1,282 |
| Toledo, OH | 41.7° | 35° | 63° | 12° | 86% | 1,258 |
| Akron, OH | 41.1° | 33° | 60° | 11° | 88% | 1,173 |
| Oklahoma City, OK | 35.5° | 34° | 60° | 6° | 86% | 1,533 |
| Tulsa, OK | 36.1° | 34° | 60° | 7° | 86% | 1,458 |
| Portland, OR | 45.5° | 36° | 64° | 16° | 85% | 1,187 |
| Salem, OR | 44.9° | 36° | 64° | 15° | 86% | 1,226 |
| Eugene, OR | 44.1° | 35° | 63° | 14° | 86% | 1,281 |
| Philadelphia, PA | 40.0° | 36° | 62° | 11° | 85% | 1,306 |
| Pittsburgh, PA | 40.4° | 33° | 60° | 11° | 88% | 1,176 |
| Providence, RI | 41.8° | 37° | 63° | 12° | 84% | 1,325 |
| Charleston, SC | 32.8° | 30° | 55° | 4° | 89% | 1,473 |
| Sioux Falls, SD | 43.5° | 42° | 69° | 14° | 81% | 1,447 |
| Nashville, TN | 36.2° | 33° | 59° | 7° | 88% | 1,340 |
| Memphis, TN | 35.1° | 32° | 58° | 6° | 88% | 1,401 |
| Knoxville, TN | 36.0° | 33° | 58° | 7° | 88% | 1,329 |
| Chattanooga, TN | 35.1° | 32° | 58° | 6° | 88% | 1,342 |
| Clarksville, TN | 36.6° | 33° | 59° | 7° | 87% | 1,326 |
| Murfreesboro, TN | 35.9° | 33° | 58° | 7° | 88% | 1,346 |
| Houston, TX | 29.8° | 27° | 53° | 2° | 91% | 1,402 |
| San Antonio, TX | 29.5° | 27° | 53° | 1° | 91% | 1,456 |
| Dallas, TX | 32.8° | 31° | 57° | 4° | 88% | 1,473 |
| Fort Worth, TX | 32.8° | 31° | 57° | 4° | 88% | 1,503 |
| Austin, TX | 30.3° | 28° | 54° | 2° | 90% | 1,468 |
| El Paso, TX | 31.8° | 33° | 58° | 2° | 87% | 1,838 |
| Arlington, TX | 32.7° | 31° | 57° | 4° | 88% | 1,491 |
| Corpus Christi, TX | 27.8° | 24° | 51° | 0° | 93% | 1,455 |
| Plano, TX | 33.1° | 31° | 57° | 4° | 88% | 1,472 |
| Lubbock, TX | 33.6° | 33° | 59° | 4° | 86% | 1,731 |
| Laredo, TX | 27.6° | 25° | 52° | 0° | 92% | 1,504 |
| Irving, TX | 32.9° | 31° | 57° | 4° | 88% | 1,484 |
| Garland, TX | 32.9° | 31° | 57° | 4° | 88% | 1,466 |
| Frisco, TX | 33.2° | 32° | 57° | 4° | 88% | 1,476 |
| McKinney, TX | 33.2° | 31° | 57° | 4° | 88% | 1,468 |
| Grand Prairie, TX | 32.7° | 31° | 57° | 4° | 88% | 1,486 |
| Amarillo, TX | 35.2° | 35° | 60° | 6° | 85% | 1,725 |
| Brownsville, TX | 26.0° | 22° | 49° | 0° | 94% | 1,449 |
| Denton, TX | 33.2° | 32° | 57° | 4° | 88% | 1,494 |
| Killeen, TX | 31.1° | 29° | 55° | 2° | 90% | 1,486 |
| Mesquite, TX | 32.8° | 31° | 57° | 4° | 89% | 1,464 |
| McAllen, TX | 26.2° | 23° | 50° | 0° | 94% | 1,478 |
| Salt Lake City, UT | 40.8° | 37° | 65° | 11° | 84% | 1,581 |
| Virginia Beach, VA | 36.8° | 32° | 58° | 8° | 87% | 1,395 |
| Chesapeake, VA | 36.7° | 33° | 59° | 8° | 87% | 1,398 |
| Arlington, VA | 38.9° | 35° | 61° | 9° | 85% | 1,331 |
| Richmond, VA | 37.5° | 35° | 60° | 8° | 86% | 1,348 |
| Norfolk, VA | 36.9° | 33° | 59° | 8° | 87% | 1,398 |
| Newport News, VA | 37.1° | 34° | 59° | 8° | 86% | 1,396 |
| Alexandria, VA | 38.8° | 35° | 61° | 9° | 85% | 1,334 |
| Seattle, WA | 47.6° | 38° | 66° | 17° | 84% | 1,145 |
| Spokane, WA | 47.7° | 38° | 67° | 18° | 83% | 1,274 |
| Tacoma, WA | 47.3° | 37° | 65° | 17° | 84% | 1,133 |
| Vancouver, WA | 45.6° | 36° | 64° | 16° | 85% | 1,181 |
| Bellevue, WA | 47.6° | 38° | 66° | 17° | 84% | 1,170 |
| Milwaukee, WI | 43.1° | 36° | 64° | 13° | 84% | 1,276 |
| Madison, WI | 43.1° | 39° | 66° | 14° | 83% | 1,331 |
South-facing, fixed. Winter = Nov–Feb, summer = May–Aug. Cities with 150k+ people.