The marine gastropod Littorina saxatilis has different ecotypes in shores only a few meters apart. This has both taxonomic and evolutionary implications. Here we report on an extreme type of within-shore dimorphism in shell characters. In the wave-exposed rocky shores in northwestern Spain, we found one form of L. saxatilis in the upper-level barnacle zone. It had a white, ridged shell, with black bands in the grooves. Another form confined to the lower-shore mussel belt had a smooth shell that was either white and tessellated or darkly colored. These two forms cooccured in a narrow midshore zone together with individuals that had combined characters, but were present in low frequencies (11%-29%). We used principal-component analysis of metric shell characters to study variation in shell size and shape. We found that the upper-shore form was larger than the lower-shore form. We also found small but significant differences in shell shape. Experiments in a common laboratory environment suggested the differences in shell ornamentation and color are inherited, but the individuals did not develop the morph-specific characters until a shell height of about 3 mm. The occurrence of mainly two distinct forms may suggest the presence of two species that hybridize. An analysis of five polymorphic enzyme loci in populations of snails from three geographically separated sites indicated, however, that there was no positive correlation between morphological distances and genetic distances among populations on a geographic scale (tens of kilometers). Thus, we rejected the hypothesis of two species. However, on a microgeographic scale (meters), genetic differentiation between groups with the same form was less than differentiation between forms. This indicated a partial barrier to gene flow between the two forms, and preliminary mate choice data suggested this was caused by nonrandom mating in the midshore zone of overlap.