Streamline patterns and their bifurcations in two-dimensional incompressible flow are investigated from a topological point of view. The velocity field is expanded at a point in the fluid, and the expansion coefficients are considered as bifurcation parameters. A series of non-linear coordinate changes results in a much simplified system of differential equations for the streamlines (a normal form) encapsulating all the features of the original system. From this, we obtain a complete description of bifurcations up to codimension three close to a simple linear degeneracy. As a special case we develop the theory for flows with reflectional symmetry. We show that all the patterns obtained can be realized in steady Navier-Stokes or Stokes flow, but an unresolved difficulty arises in the symmetric case for Navier-Stokes flow. The theory is applied to the patterns and bifurcations found numerically in two recent studies of Stokes flow in confined domains.