Water moccasins primarily eat fish because that is what is most available to them in their natural habit. Water moccasins are highly opportunistic and will also eat small mammals, reptiles and amphibians.
The diet of water moccasins varies depending on the type of wildlife that is available to them. Water moccasins that live in small, residential areas have fewer dietary options. In most cases, they can subsist off of small fish, frogs and lizards that can be found in their habit.
Water moccasins that inhabit more isolated locations have a greater variety of prey to choose from. Water moccasins have been known to eat baby alligators and turtles if they are small enough. Larger water moccasins are also capable of eating birds if they are able to get close enough to them.
In rare instances water moccasins will also eat other snakes, including smaller water moccasins. This only happens when water moccasins feel threatened by other snakes or when two male water moccasins are fighting over a mate.
Water moccasins primarily hunt at night, which means it can be difficult for them to eat animals like birds. This is why water moccasins eat other reptiles and amphibians that share their sleeping patterns.