We devise an algorithm that extracts watersheds from digital elevation models. Flow direction is limited to one of the eight neighbors and only to a lower elevation. The algorithm runs in three stages to improve performance and lower memory usage. First it finds the edges within the flow network. It then finds the connected components. Finally, it creates a bitmap, which represents each watershed region with a different color. Performance is linearly proportional to the number of elevation values within a SRTM grid. The final bitmap reveals that the algorithm deals well with mountainous terrains but creates erroneous watershed regions for flat surfaces, forests, and lakes.