Zaklików leży nad rzeką Sanną, około 20 km na wschód od Wisły i 20 km na północ od Sanu. Historycznie położony jest w Małopolsce (początkowo w ziemi sandomierskiej, a następnie w ziemi lubelskiej). Geograficznie leży na skraju Kotliny Sandomierskiej i Wzniesień Urzędowskich, w zachodniej części Równiny Biłgorajskiej. Od południa, wschodu i zachodu graniczy z lasami, przeważnie sosnowymi, tworzącymi zachodni kraniec Lasów Janowskich, które wchodzą w skład kompleksu Puszczy Solskiej. Na północy graniczy z Antoniówką i Zdziechowicami, na wschodnim krańcu miasta znajduje się rekreacyjny zalew. Ze względu na położenie pośród lasów i posiadanie niewielkiego zalewu jest lokalnym ośrodkiem turystyczno-wypoczynkowym. Przez Zaklików przebiega linia kolejowa Lublin–Przeworsk (nr 68), na której znajdują się dwie stacje. Główna stacja „Zaklików” położona jest na północy, a od 2020 roku na południowo-zachodnim krańcu miejscowości czynny jest dodatkowy przystanek „Zaklików Miasto”.