Best fishing times: when fish bite and when they don't
Fish bite hardest in the low-light hours around sunrise and sunset, and those hours get stronger when they overlap a major solunar period — the hour either side of the moon’s meridian transit. Water temperature decides which species is feeding at all: walleye spawn at 42–50°F, largemouth bass at 62–65°F.
This page ranks the five inputs that move a bite window, gives the arithmetic behind each one, and names the conditions under which the whole method should be ignored. Species-specific timing and city-level windows live on separate pages, linked where they belong below.
What are the best times to fish
The best fishing times are where the four strongest signals stack: low light, a moving-water event, a water temperature inside the target species’ feeding range, and a moon transit or moonrise. Any one of them alone is weak. Two of them together explain most good sessions anglers remember, which is also why single-cause explanations survive so long — a dawn session during a spring warm-up succeeds whatever the moon is doing.
The solunar convention behind every bite-time table is older than the sonar most anglers use to test it.
±60 min
Ranking the inputs honestly matters more than adding a sixth one. The table below is our own ordering, and the right-hand column is deliberately unflattering to the signal this site is built on.
| Input | What it shifts | How solid the evidence is |
|---|---|---|
| Light level (dawn, dusk, night) | Predator advantage over prey; feeding shifts to the edges of the day | Strong; behavior documented by state agencies for walleye, catfish, striped bass |
| Water temperature | Whether a species feeds, spawns or shuts down at all | Strong; agencies publish spawning thresholds to the degree |
| Moving water (tide, current, wind-driven drift) | Where bait collects and where predators wait | Strong on coasts and tailwaters, weak on small still lakes |
| Moon position (transit, moonrise, moonset) | The timing of the major and minor windows | Weak to moderate for inland daily feeding; documented for some spawning runs |
| Barometric pressure | Often blamed, rarely decisive on its own | Weak in isolation; confounded with wind, cloud and light |
Best fishing times today
Reading a single day’s line is a method rather than a verdict, and the method does not change with the date: find the two majors, see which one falls in light you can fish, then let water temperature and weather overrule both. What changes from one day to the next is the clock, and it changes by more than most printed tables admit — the moon’s transit slips later every day, so yesterday’s window no longer covers the same hours.
41–68 min
A minor period is only sixty minutes wide, so a table read one day late misses it outright, and a week-old one is out by roughly six hours. That drift, not marketing, is the argument for a dated table over a remembered one — and it is also why a good hour last Saturday says more about the hour than about the moon.
What this site publishes is that dated table, one city at a time, rather than a clock that geolocates a reader and announces that the bite is on. The city forecast pages carry sixteen days, each row labelled with its own local date, the row matching the reader’s calendar day marked in the browser, and a plain notice when the window has run out instead of numbers that have expired. The windows are astronomy; the day rating attached to them is driven mostly by lunar phase, which is near-identical in every city on the same date and therefore carries nothing local at all.
Best time of day to fish
Dawn and dusk win in most of the year because low light removes the prey fish’s advantage. Walleye are the clearest case: Wisconsin DNR’s walleye biology page notes that in clear water walleye stay deep by day and move into the shallows at night. Channel catfish work the same edge from the other end of the thermometer, feeding hard through warm summer nights, which is why the best time to fish for catfish is rarely the same hour as the best time for a sight-feeding species in the same lake.
The length of that window is not a constant, and latitude decides it. Civil twilight — the usable dim light between civil dawn and sunrise — is nearly fixed in the far south and wildly variable in the far north.
23 min vs all night
Winter rearranges the rule instead of cancelling it. On a northern lake under ice, yellow perch feed through the middle of the day while walleye keep to the same low-light edges they use in July. On the Gulf coast in the same week, midday is comfortable and productive and the dawn advantage shrinks. A page that says “fish at dawn” in every month and every latitude is describing summer in the Midwest, not fishing.
How moon phase affects feeding
Moon phase and moon position are two different variables, and bite-time tables use the second one. Phase describes illumination and, on the coast, tide range: new and full moons produce the largest tidal swings of the month. Position describes where the moon sits relative to your meridian at a given moment, and it shifts roughly 50 minutes later each day regardless of how much of the disc is lit.
That daily drift has a consequence most tables never spell out. A major period at 6 a.m. drifts to mid-morning within a week and to late evening about three weeks later, so “the moon was good for me last Saturday” is usually a claim about an hour of the day, not about the moon. Phase drives the other half: at new and full moons the sun and moon pull in line and tidal range peaks, while at the quarters it is smallest — decisive on any coast, irrelevant on a farm pond.
The documented lunar effects are strongest in spawning behavior, not in daily feeding. California grunion spawn for four consecutive nights beginning on the nights of the full and new moons, and the run comes after high tide — a pattern precise enough that CDFW publishes expected run windows months ahead. Nothing that clean has been shown for largemouth bass feeding on a Tuesday afternoon in a reservoir. Treat the moon as a scheduling tiebreaker between two otherwise equal hours, and read the solunar fishing calendar for the mechanics rather than the folklore.
Barometric pressure and the bite
Barometric pressure is the most overrated number in fishing, and the arithmetic shows why. NOAA puts standard sea-level pressure at 29.92 inHg, equivalent to about 33.9 feet of fresh water. A frontal swing of 0.30 inHg — a big move on any home weather station — is therefore equivalent to the fish rising or dropping about four inches, at any depth it happens to be holding.
0.30 inHg = 4 in
That does not make the front irrelevant. What arrives with falling pressure — wind that stacks bait on a shoreline, cloud that extends the low-light window by hours, and a temperature change that moves fish shallow or deep — is a large signal wearing a small signal’s name. The practical rule: fish the weather, not the barometer reading, and never cancel a trip over 0.10 inHg.
Water temperature by season
Water temperature, not the calendar, decides which species is catchable. The same species spawns months apart at different latitudes: Wisconsin DNR’s largemouth bass profile reports nest site selection at 60°F and eggs laid at 62–65°F, typically from late April, while FWC’s Florida black bass forecast reports spawning as early as January in the extreme south of the state, with March and April the peak months. Walleye run earlier and colder — migration starts at 38–44°F right after ice-out, with spawning peaking at 42–50°F.
Winter is a season, not a gap. The table below assumes a temperate northern water body and a southern one in the same month, because that difference is the whole point.
| Species | Winter | Spring | Summer | Fall |
|---|---|---|---|---|
| Largemouth bass | Slow and deep in the north; spawning in south Florida from January | Pre-spawn and spawn at 60–65°F, shallow and aggressive | Dawn, dusk and night; deep structure at midday | Heavy feeding on schooled baitfish |
| Smallmouth bass | Deep wintering holes; slow presentations on southern rivers | Spawn over gravel and rubble as water passes the high 50s°F | Current seams and rocky flats | Best trophy window of the year in many lakes |
| Striped bass | Coastal and southern reservoir fish stay catchable | Spawning runs into fresh rivers | Night and deep, thermally squeezed | Blitzes on migrating bait |
| White bass | Deep schools, findable with electronics | Tributary spawning runs, the peak of the year | Open-water schooling, often mid-lake | Reforming schools chasing shad |
| Channel catfish | Slow but reliable in deep holes and tailraces | Feeding increases with warming | Peak season, strongest at night | Steady until water cools sharply |
| Trout | Tailwaters and stocked lakes fish well; steelhead in Great Lakes tributaries | Prime hatches and cool flows | Restricted: avoid water above 68°F | Spawning browns, cooling flows, strong bite |
| Walleye | Ice fishing peak in the upper Midwest | Post-ice-out spawn at 42–50°F | Night bite and deep structure | Long low-light feeding windows |
The seasonal detail behind two of those rows is worth its own reading: spring white bass spawning runs concentrate an entire year of fish into a few miles of tributary, and autumn striped bass feeding blitzes are driven by bait migration rather than by any lunar window. Summer trout are the clearest case of temperature overruling everything, which is why the best time to fish for trout in July may be no time at all.
Where species timing overrides these rules
Species timing beats general timing whenever the two disagree. A major period at 2 p.m. in August is a real transit and a bad plan for a trout stream at 70°F, while the same window is a genuine opportunity for catfish in a warm reservoir. The general rules on this page set the frame; the species pages set the hour.
Black bass attract more timing questions than any other freshwater group, and the tactics split by species: the shallow-water spawn logic of how to catch largemouth bass is not the current-seam logic of how to catch smallmouth bass, even in a lake that holds both. Start with the family overview in how to catch bass if you are not sure which fish you are targeting, and with how to catch fish if the species is genuinely open.
How we calculate the windows, and where the theory is weak
Our windows are centered on the moon’s meridian transit computed by hour angle, not on its peak altitude, and the difference is measurable. Lunar declination changes by up to about 5° a day, so the moment of highest altitude and the moment of true transit drift apart. On a 39-city run, the worst case we measured was in Alaska.
8.6 min
The honest part of the method is what it cannot deliver. A major period is a prediction from a 1926 convention, not a measurement of fish: the window widths are inherited, and the astronomy is exact while the biology is not. Our own run also breaks the tidy “two majors and two minors a day” promise.
6.8%
Precomputed solunar windows
Astronomy computed per city and per local day, including days with a missing moonrise or a single major period, so the schedule is right even when the convention breaks.
Reading the water on the day
Surface activity, bait schools, water clarity and a thermometer tell you what is actually happening, but only once you are standing there.
Comparing the common approaches by what each one actually gets right is more useful than declaring a winner.
| Approach | What it gets right | Where it fails |
|---|---|---|
| Printed solunar tables | Free, offline, and consistent from year to year | Usually computed for a single reference longitude, ignoring your local transit |
| General weather apps | Wind, cloud and precipitation, which matter more than most anglers think | No lunar timing, no species logic, no water temperature |
| Precomputed city windows (this site) | Local transit times, edge cases handled, no account needed | No live water data; a window is a prediction, not a report |
| Local guides and agency reports | Ground truth on water temperature, flow and what is actually being caught | Sparse coverage, and often days out of date by the time you read them |
A fuller feature-by-feature comparison, including the tools that do things this site does not, sits in our best fishing apps compared review, and the exact astronomical routines are documented in how we calculate bite windows.
When solunar windows are the wrong tool
Ignore the windows entirely when a stronger variable is in control. Trout water above 68°F is the clearest case: Montana FWP triggers its afternoon angling restrictions when most streams reach 73°F for three consecutive days, and lower thresholds apply to cutthroat and bull trout, so both the fish and the rules override lunar timing. The same applies to a river in flood, a lake three days into a cold front, a spawning closure, or any water under an agency advisory. Check current restrictions and closures with the state agency before planning around any forecast, ours included.
How to check your own lake or river
Checking a specific water body takes three passes, and only the first one is astronomy. Local transit times move with longitude inside a single time zone, so a table computed for a reference meridian can be off by half an hour or more at the edges of your state.
Step 1
Get local windows, not national ones
Pull major and minor periods computed for your coordinates and your local civil day, and note which days carry only one major period.
Step 2
Check water temperature against the species
Compare the current temperature with the spawning and feeding ranges published by your state agency for the fish you actually want.
Step 3
Overrule both with conditions
Flow, clarity, wind direction and recent weather beat any calendar. If the water says no, the window is irrelevant.
City-level pages do the first pass for you: our fishing forecast for your city covers US metros with local sunrise, sunset, moon transit and moonrise times computed for each city’s own time zone, including the ones that do not change their clocks. The second pass belongs to your state agency, which publishes the temperature thresholds and the season rules that no third-party app should be restating.