Hầu hết các con sông của Đức đều đi theo độ nghiêng chung về phía bắc-tây bắc của đất liền, cuối cùng đổ vào Biển Bắc. Ngoại lệ chính đối với quy tắc là sông Danube, chảy lên trong Rừng Đen và chảy về phía đông, đánh dấu khoảng ranh giới giữa Vùng cao Trung Đức và Vùng rừng núi Alpine. Sông Danube dựa trên một loạt các nhánh sông bên hữu ngạn Alpine, thông qua việc phụ thuộc vào tuyết tan vào mùa xuân và mùa hè, làm cho chế độ của nó không đồng đều một cách đáng chú ý. Các ngoại lệ khác là Altmühl và Naab, đi theo hướng nam cho đến khi trở thành các nhánh ở bờ bắc của sông Danube, và sông Havel, chảy theo hướng nam, tây và bắc trước khi đổ vào sông Elbe. Dòng chảy của sông chủ yếu liên quan đến khí hậu, mặc dù không phải theo một cách đơn giản; ví dụ, ở tất cả, trừ Alpine của Đức, dòng chảy tối đa của sông xảy ra vào mùa đông khi lượng bốc hơi thấp, mặc dù ở các vùng đất thấp, lượng mưa cao nhất là vào mùa hè.
Hùng vĩ nhất trong số các con sông chảy qua Đức là sông Rhine. Nó có nguồn ở đông-trung Thụy Sĩ và chảy về phía tây qua Hồ Constance (Bodensee), chạy qua Rừng Đen để rẽ về phía bắc qua Vùng cao Trung Đức. Bên dưới Bonn sông Rhine nổi lên thành một đồng bằng rộng lớn, và phía tây Emmerich nó đi vào Hà Lan để đổ ra Biển Bắc. Sông Rhine thuộc về hai loại chế độ sông. Mọc trên dãy núi Alps, trước hết nó thu lợi từ chế độ cực kỳ xối xả của dãy núi Alps, khiến các dòng suối bị đông do tuyết tan vào cuối mùa xuân và mùa hè. Sau đó, nhờ các phụ lưu của nó — Neckar, Main và Moselle (Mosel thuộc Đức) —Rhine nhận được hệ thống thoát nước của Vùng cao Trung Đức và phần phía đông của Pháp, góp phần tạo ra dòng chảy tối đa trong mùa đông. Do đó, con sông có một dòng chảy mạnh và đều đáng kể, một thiên phú vật chất đã khiến nó trở thành tuyến đường thủy bận rộn nhất ở châu Âu. Chỉ đôi khi vào mùa thu khô ráo, sà lan mới không thể tải hết công suất để vượt qua hẻm núi Rhine.
Weser và Elbe nổi lên ở Vùng cao Trung Đức, băng qua Đồng bằng Bắc Đức để vào Biển Bắc. Sông Oder chảy theo hướng bắc (với phụ lưu của nó, sông Neisse) đi qua phần đông bắc của đất nước và một phần nhỏ của Ba Lan trước khi đổ ra biển Baltic. Giao thông của những con sông này thường bị ảnh hưởng bất lợi vào mùa hè do nước thấp và vào mùa đông do băng tăng về phía đông.
Các dòng sông ở các vùng đất thấp phía bắc có dạng lưới mắt cáo đáng chú ý – các con sông đi theo các rãnh dòng chảy ven băng (Urstromtäler) được khắc bên ngoài rìa của các tảng băng đang rút đi trước khi xuyên thủng sườn núi tiếp theo ở phía bắc. Mô hình này đã tạo điều kiện thuận lợi đáng kể cho việc cắt các con kênh nối sông Rhine với Berlin và các sông Elbe và Oder.
Đức có tương đối ít hồ. Nồng độ lớn nhất bao gồm các hồ nông của vùng đất thấp sau băng hà ở phía đông bắc. Hồ tự nhiên lớn nhất trong khu vực là Hồ Müritz (44 dặm vuông [114 km vuông]) trong dòng sông băng Weichsel của Mecklenburg – Tây Pomerania. Ngoài Dümmer và Steinhude ở Lower Saxony, một số hồ nhỏ có nguồn gốc băng hà nằm rải rác Schleswig-Holstein. Phần còn lại của các hồ ở Đức tập trung ở cực đông nam của Upper Bavaria, nhiều hồ trong số này nằm trong môi trường xung quanh tuyệt đẹp. Đức chia sẻ hồ Constance, hồ lớn nhất của nó (có tỷ lệ của biển nội địa), với Thụy Sĩ và Áo.