National roads in Poland


According to classes and categories of public roads in Poland, a national road is a public trunk road controlled by the Polish central government authority, the General Directorship of National Roads and Motorways. All motorways and expressways in Poland are classified as part of the national roads network.
Other types of roads in Poland are under the control of entities at voivodeship, powiat and gmina levels: voivodeship roads, powiat roads and gmina roads.

National roads network

National roads include:
Currently, there are 96 national roads in Poland. Since 1 January 2014, there are new national roads: 89, 95, 96 and 97. In 2011 the total length was. According to national roads state report of 2008 by GDDKiA 1/4 of national roads are capable of handling 11,5 tonnes per axle loads. Due to new regulation of General Director of National Roads and Motorways in August 2016 there is no longer national road 69. In January 2020, national road 98 was downgraded and removed from the national roads network.

List of national roads

Polish national roads network consist of following roads, as of April 1, 2025:
NumberRoute
– Grudziądz – Toruń – Włocławek – Łódź – Piotrków Trybunalski – Częstochowa – Pyrzowice – Piekary Śląskie – Bytom – Gliwice – Żory – Gorzyczki – Czech border
----
Pyrzowice – Podwarpie – Dąbrowa Górnicza – Tychy – Bielsko-Biała – Żywiec – Laliki – Zwardoń – Slovak border
German border – Świecko – Rzepin – Poznań – Konin – Łódź – Warsaw – Mińsk Mazowiecki – Siedlce – Międzyrzec Podlaski – Biała Podlaska – Terespol – Belarusian border
Świnoujście – Szczecin – Goleniów – Gorzów Wielkopolski – Zielona Góra – Lubin – Legnica – Bolków – Kamienna Góra – Lubawka – Czech border
German border – Jędrzychowice – "Zgorzelec" junction – Krzyżowa – Wrocław – Prądy – Nogowczyce – Gliwice – Katowice – Chrzanów – Kraków – Tarnów – Dębica – Rzeszów – Jarosław – Radymno – Korczowa – Ukrainian border
– Świecie – Bydgoszcz – Gniezno – Poznań – Leszno – Wrocław – Kostomłoty – Dobromierz – Bolków – Kamienna Góra
----
–
German border – Kołbaskowo – Szczecin – Goleniów – Płoty – Kołobrzeg – Koszalin – Karwice – Słupsk – Lębork – Szemud – Gdynia – Gdańsk – Straszyn – Łęgowo
Gdynia – – … – – Gdańsk – Elbląg – Ostróda – Olsztynek – Płońsk – Warsaw – Lesznowola – Grójec – Radom – Kielce – Kraków – Myślenice – Rabka-Zdrój – Chyżne – Slovak border
----
Kraków
Czech border – Kudowa-Zdrój – Kłodzko – Ząbkowice Śląskie – Wrocław – Oleśnica – Syców – Kępno – Złoczew – Sieradz – – Piotrków Trybunalski – Rawa Mazowiecka – Warsaw – Radzymin – Wyszków – Ostrów Mazowiecka – Zambrów – Białystok – Korycin – Augustów – Raczki
Radom – Iłża – Ostrowiec Świętokrzyski – Opatów – Lipnik – Klimontów – Łoniów – Nagnajów – Kolbuszowa – Głogów Małopolski – Rzeszów
German border – Lubieszyn – Szczecin – Stargard – Wałcz – Piła – – – Przyłubie – Toruń – Lipno – Sierpc – Drobin – Płońsk
Kołobrzeg – – Koszalin – Bobolice – Szczecinek – Podgaje – Piła – Ujście – Chodzież – Oborniki – Poznań – Kórnik – Jarocin – Pleszew – Ostrów Wielkopolski – Ostrzeszów – Kępno – Kluczbork – Lubliniec – Tworóg – Bytom
German border – Łęknica – Żary – Żagań – Szprotawa – Przemków – Radwanice – – Głogów – Szlichtyngowa – Wschowa – Leszno – Gostyń – Jarocin – Pleszew – Kalisz – Błaszki – Sieradz – Łask – Rzgów – Piotrków Trybunalski – Sulejów – Opoczno – Przysucha – Radom – Zwoleń – Puławy – Kurów – Lublin – Piaski – Chełm – Dorohusk – Ukrainian border
Szczecin – Kołbaskowo – Rosówek – German border
– – Zgierz – Łódź – Dobroń –
----
– Łódź –
Trzebnica – Milicz – Krotoszyn – Jarocin – Miąskowo – Miłosław – Września – Gniezno – … – Trzemeszno – Wylatowo – Strzelno – Inowrocław – Toruń – Brodnica – Lubawa –
– Grudziądz – Iława – – … – – Olsztyn – Mrągowo – Ełk – Augustów – Pomorze – Poćkuny – Ogrodniki – Lithuanian border
Warsaw – Garwolin – Ryki – Kurów – Lublin – Piaski – Krasnystaw – Zamość – Tomaszów Lubelski – Hrebenne – Ukrainian border
German border – Olszyna – Golnice – Krzyżowa
Belarusian border – Kuźnica – Białystok – Siemiatycze – Międzyrzec Podlaski – Kock – Lubartów – Lublin – Kraśnik – Janów Lubelski – Nisko – Sokołów Małopolski – Rzeszów – Babica – Lutcza – Domaradz – Miejsce Piastowe – Dukla – Barwinek – Slovak border
----
Świlcza – Kielanówka
– Stargard – Chociwel – Węgorzyno – Drawsko Pomorskie – Czaplinek – Szczecinek – Biały Bór – Miastko – Bytów – Kościerzyna – Żukowo –
Miastko – Suchorze – Słupsk – Ustka
German border – Kostrzyn – Wałdowice – Gorzów Wielkopolski – Wałcz – Człuchów – Chojnice – Starogard Gdański – Czarlin – Malbork – Stare Pole – Elbląg – Chruściel – Grzechotki – Russian border
Myślibórz – Dębno – Sarbinowo
Pniewy – Gorzyń – Skwierzyna – Wałdowice
Bobolice – Biały Bór – Człuchów – Sępólno Krajeńskie – Koronowo – Bydgoszcz – Inowrocław – Strzelno – Ślesin – Konin – Kalisz – Ostrów Wielkopolski – Antonin –
German border – Krajnik Dolny – Chojna – Myślibórz –
German border – Przewóz – Żary – Zielona Góra
– Wadowice – Rabka-Zdrój – Limanowa – Nowy Sącz – Gorlice – Jasło – Krosno – Sanok – Kuźmina – Bircza – Przemyśl – Medyka – Ukrainian border
German border – Słubice –
– Lubań – Gryfów Śląski – Pasiecznik – Jelenia Góra
Szczecin – Chojna – Sarbinowo – Kostrzyn – Słubice
German border – Gubinek – Połupin – Zielona Góra – Sulechów – Wolsztyn –
Kłodzko – Międzylesie – Boboszów – Czech border
Świebodzice – Dobromierz
Czech border – Golińsk – Mieroszów – Wałbrzych – Świebodzice – Świdnica –
Prochowice – Lubin – Ścinawa – Wińsko – Załęcze – Rawicz – Krotoszyn – Ostrów Wielkopolski –
Darłowo –
Czech border – Pietrowice – Głubczyce –
Łagiewniki – Strzelin – Biedrzychów – Owczary – Brzeg – Namysłów – Baranów
Czech border – Głuchołazy – Prudnik – Kędzierzyn Koźle – Pyskowice
– Prudnik – Trzebina – Czech border
Namysłów – Kluczbork – Praszka – Rudniki – Działoszyn – Pajęczno – Nowa Brzeźnica – Radomsko – Przedbórz – Ruda Maleniecka – Końskie – Skarżysko-Kamienna – Rudnik
– Rudniki – Kłobuck –
Gliwice – Mikołów – Tychy – Oświęcim – Zator – Skawina –
– Krzyżanowice – Racibórz – Krapkowice – Opole – Kluczbork – Praszka – Wieluń –
– Nysa – Opole – Ozimek – Lubliniec – Blachownia – Częstochowa – Janów – Szczekociny
– Rabka-Zdrój – Nowy Targ – Zakopane
– Tomaszów Mazowiecki – Inowłódz – Potworów – Białobrzegi – Głowaczów – Kozienice – Dęblin – Moszczanka –
– Czarna Góra – Jurgów – Slovak border
Ciechanów – Płońsk – Wyszogród – Sochaczew – Mszczonów – Grójec – Góra Kalwaria – Kołbiel – Mińsk Mazowiecki – Łochów – Ostrów Mazowiecka
Russian border – Bezledy – Bartoszyce – Lidzbark Warmiński – Dobre Miasto – Olsztyn – Olsztynek
Czech border – Cieszyn – Bielsko-Biała – Kęty – Wadowice – Głogoczów – Kraków – – Mistrzejowice
– Szczytno – Rozogi – Myszyniec – Ostrołęka –
Chruściel – Braniewo – Gronowo – Russian border
– Malbork – Kwidzyn – Grudziądz – Stolno
–
Bartoszyce – Biskupiec – Szczytno – Przasnysz – Maków Mazowiecki – Pułtusk
Olsztynek – Zgniłocha – Jedwabno – Szczytno – Babięta – Ruciane-Nida – Pisz – Biała Piska –
Giżycko – Ryn – Mrągowo – Nawiady – Rozogi
– Kutno – Gostynin – Płock – Drobin – Glinojeck – Ciechanów – Maków Mazowiecki – Różan – Ostrów Mazowiecka
Warsaw – Jabłonna – Legionowo – Serock – Różan – – Łomża – Szczuczyn – Ełk – Raczki – Suwałki – Budzisko – Lithuanian border
Strzelno – Kobylniki – Radziejów – Brześć Kujawski – Włocławek – Nowy Duninów – Płock – Wyszogród – Nowy Dwór Mazowiecki – Pomiechówek – Serock – Wierzbica – Wyszków – Łochów – Węgrów – Sokołów Podlaski – Drohiczyn –
Russian border – Węgorzewo – Giżycko – Pisz – Kolno – Kisielnica – Łomża – Stare Modzele – Zambrów – Ceranów – Sokołów Podlaski – Siedlce – Łuków – Radzyń Podlaski – Wisznice – Sławatycze – Belarusian border
Piątnica Poduchowna – Wizna – Jeżewo Stare
Russian border – Gołdap – Olecko – Ełk – Grajewo – Mońki – Białystok – Bobrowniki – Belarusian border
– – Zambrów – Wysokie Mazowieckie – Brańsk – Bielsk Podlaski – Kleszczele – Czeremcha – Połowce – Belarusian border
– Włocławek
Belarusian border – Kukuryki –
Went from Bielsko-Biała – Żywiec – Laliki – Zwardoń to the Slovak border. Became part of national road 1 on August 4, 2016; the old route of national road 1 became national road 52.
Łowicz – Skierniewice –
Stryków – Zgierz – … – – Rzgów
Konin – Turek – Uniejów – Balin – Łódź – Brzeziny – Rawa Mazowiecka
Wiśniówka – Kielce – Morawica – Busko Zdrój – Szczucin – Dąbrowa Tarnowska – Tarnów – Pilzno – Jasło
– Wieluń – Bełchatów – Piotrków Trybunalski – Sulejów – Żarnów – Ruda Maleniecka – Kielce – Łagów – Opatów – Ożarów – Annopol – Kraśnik – Janów Lubelski – Frampol – Gorajec-Zastawie– Gorajec-Stara Wieś– Gorajec-Zagroble – Szczebrzeszyn – Zamość – Hrubieszów – Zosin – Ukrainian border
– Niepołomice – – Brzesko – Nowy Sącz – Krzyżówka – Tylicz – Muszynka – Slovak border
Wilga – Garwolin – Stoczek Łukowski –
Lipnik – Sandomierz – Stalowa Wola – Leżajsk – Tryńcza – Jarosław – Radymno – Przemyśl
Czech border – Chałupki – Wodzisław Śląski – Rybnik – Gliwice – Tarnowskie Góry – Świerklaniec – Siewierz – Zawiercie – Szczekociny – Nagłowice – Jędrzejów – Chmielnik
Warsaw – Góra Kalwaria – Kozienice – Zwoleń – Sandomierz – Połaniec – Nowe Brzesko – Kraków – Trzebinia – Chrzanów – Jaworzno – Katowice – Chorzów – Bytom
----
Warsaw
– Bydgoszcz – Toruń –
Katowice – Mikołów – Żory – Skoczów
– Łęczna – Cyców – Włodawa – Belarusian border
Turek – Dobra – Sieradz
Sanok – Lesko – Ustrzyki Dolne – Krościenko – Ukrainian border
Nowy Dwór Mazowiecki –
Podwarpie – Wojkowice Kościelne – Będzin – Sosnowiec – Katowice – Tychy
– Stary Sącz – Piwniczna-Zdrój – Slovak border
Strzelce Opolskie – – – Gliwice – Bytom
Gdańsk
–
Gdańsk – Tczew – Świecie – Toruń – Włocławek – Kowal – Krośniewice – – – Piotrków Trybunalski – Kamieńsk – Radomsko – Kłomnice – Częstochowa – Koziegłowy – Siewierz – Podwarpie
– Świebodzin – Pniewy – Poznań – Września – Słupca – Golina – Konin – Kutno – Łowicz – Sochaczew – – … – – Mińsk Mazowiecki –
German border to in Świnoujście
– Bolesławiec – Krzywa – Chojnów – Legnica – Prochowice – Wrocław – Brzeg – Opole – Strzelce Opolskie – Toszek – Pyskowice – Bytom – Będzin – Sosnowiec – Dąbrowa Górnicza – Olkusz – – … – – Tarnów – Rzeszów – Jarosław – Radymno – Korczowa
–
–
–
Went from – . Downgraded on January 1, 2020; the section from national road 8 to Mirków became voivodeship road 372 and the remainder through Wrocław became a gmina road.