Bij de vloedlijn stroomt water heen en weer over het zand. Elke golf brengt nieuw water dat omhoog stroomt en zich weer terugtrekt. Het water maakt elke keer wat zandkorreltjes los en neemt die een stukje met zich mee. Eerst de ene kant op en dan weer terug. Uiteindelijk blijven de korreltjes weer liggen. Als er toevallig een paar zandkorreltjes bij elkaar komen te liggen, heb je al een minuscuul ribbeltje van enkele zandkorrels hoog. Als de ribbels in de bodem er eenmaal zijn, beïnvloeden ze de waterstroom. Achter elke ribbel ontstaat een werveling in het water. Achter de ribbeltjes komen daardoor meer zandkorreltjes te liggen. Even verderop slijt het water het zand juist weer uit. Dat gaat door totdat er een permanent patroon van ribbels is.
Ribbels zijn er in alle soorten en maten. In dieper water zorgen golven en stromingen voor grote zandruggen (brandingsruggen). Nog verder van de kust liggen veel grootschaliger zandbanken, soms meters hoog. Ook in rivieren komen ribbels en zandbanken voor.
Dit soort ribbels kom je op meer plekken in de natuur tegen. Zo zijn er in sommige woestijnen duinen die in een gigantisch ribbelpatroon liggen. Ook wolken vertonen soms fraaie ritmische patronen. Het ontstaan van al dit soort golfpatronen kan steeds op een vergelijkbare manier verklaard worden. Er is sprake van een stroming (van lucht of water) langs een oppervlak.