ทางหลวงแผ่นดินหมายเลข 12
ทางหลวงแผ่นดินหมายเลข 12 สายแม่สอด (เขตแดน)–มุกดาหาร เป็นทางหลวงแผ่นดินสายรองประธานที่เป็นเส้นทางคมนาคมสำคัญที่เชื่อมระหว่างภาคเหนือและภาคตะวันออกเฉียงเหนือของประเทศไทย สายทางเริ่มต้นที่สะพานมิตรภาพไทย-พม่า อำเภอแม่สอด จังหวัดตาก และสิ้นสุดที่อำเภอเมืองมุกดาหาร จังหวัดมุกดาหาร มีระยะทางตลอดทั้งสายรวม 793.391 กิโลเมตร อีกทั้งรัฐบาลยังวางแผนให้เป็นหนึ่งในถนนสายเศรษฐกิจตะวันออก-ตะวันตก ที่เชื่อมระหว่างเมืองเมาะลำเลิง ประเทศพม่า และเมืองดานัง ประเทศเวียดนาม นอกจากนี้เส้นทางหลวงแผ่นดินสายนี้ยังถือเป็นทางหลวงสายเอเชีย ได้แก่ ทางหลวงเอเชียสาย 1 และทางหลวงเอเชียสาย 16 อีกด้วย
ถนนในช่วงแม่สอด–ตาก เดิมเป็นส่วนหนึ่งของทางหลวงแผ่นดินหมายเลข 105 เป็นถนนที่ก่อสร้างตามโครงข่ายทางหลวงสายเอเชีย คือ ทางหลวงเอเชียสาย 1 จุดเริ่มต้นตามหลักกิโลเมตรอยู่บริเวณเชิงสะพานมิตรภาพไทย-พม่า (สะพานข้ามแม่น้ำเมย) ซึ่งเป็นเขตแดนระหว่างประเทศไทยกับประเทศพม่า ตั้งอยู่ที่ตำบลท่าสายลวด อำเภอแม่สอด จังหวัดตาก จากนั้นทางลงสู่ระดับดินผ่านด่านพรมแดนแม่สอด ตรงไปยังทิศตะวันออก ในช่วงนี้จะเป็นทางคู่ขนาด 4 ช่องจราจร ผ่านแยกสนามบิน ซึ่งหากเลี้ยวขวาไปยังทางหลวงแผ่นดินหมายเลข 1355 (ถนนอินทรคีรี) จะเข้าเมืองแม่สอด ถ้าตรงไปจะเป็นเลี่ยงเมือง หลังจากนั้นมาบรรจบกับทางหลวงแผ่นดินหมายเลข 1355 ที่วงเวียนที่แยกอุ้มผาง จากนั้นขึ้นเขาผ่านเทือกเขาถนนธงชัย เป็นทางเดี่ยวขนาด 2-4 ช่องจราจร มุ่งหน้าไปยังอำเภอเมืองตาก แล้วสิ้นสุดช่วงนี้บนถนนพหลโยธิน รวมระยะทาง 85.905 กิโลเมตร จากนั้นนับกิโลเมตรต่อไปตามถนนพหลโยธินไปทางทิศเหนือ จนถึงสี่แยกทางหลวงในเขตเทศบาลเมืองตาก จึงมีทางหลวงแผ่นดินหมายเลข 12 แยกขวาออกไปทางทิศตะวันออก
ถนนในช่วงตาก–สุโขทัย มีชื่อเรียกว่า ถนนจรดวิถีถ่อง มีระยะทางรวมในช่วงนี้ 78.802 กิโลเมตร โดยเริ่มต้นที่กิโลเมตรที่ 92.804 บริเวณสี่แยกทางหลวง ซึ่งเชื่อมต่อมาจากทางหลวงแผ่นดินหมายเลข 1400 (ถนนมหาดไทยบำรุง) ที่ตัดกับถนนพหลโยธิน เป็นทางคู่ขนาด 4 ช่องจราจร เส้นทางตรงไปทางทิศตะวันออกผ่านอำเภอบ้านด่านลานหอย จังหวัดสุโขทัย แล้วเข้าเขตอำเภอเมืองสุโขทัย เมื่อมาถึงแยกวังวน ทางหลวงแผ่นดินหมายเลขจะเบี่ยงออกไปทางขวา ซึ่งถ้าหากตรงไปจะเป็นทางหลวงแผ่นดินหมายเลข 125 หรือถนนเลี่ยงเมืองสุโขทัย เมื่อเลี้ยวขวาจะเข้าอุทยานประวัติศาสตร์สุโขทัย ซึ่งเป็นทางเดี่ยว 2 ช่องจราจร เมื่อออกจากอุทยานจะผ่านแยกบ้านนา ซึ่งมีทางหลวงแผ่นดินหมายเลข 1272 มาบรรจบทางซ้ายมือ ส่วนทางขวามือจะเป็นทางหลวงแผ่นดินหมายเลข 12 จากนั้นตรงเข้าไปยังเขตเทศบาลเมืองสุโขทัยธานี ผ่านสะพานพระร่วง ข้ามแม่น้ำยม แล้วสิ้นสุดที่แยกสุโขทัยธานี ตัดกับถนนประพันธ์บำรุงทางซ้ายมือ และถนนสิงหวัฒน์ ซึ่งแยกออกไปทางขวาตามทางหลวงแผ่นดินหมายเลข 12 ถ้าตรงไปจะเป็นถนนจรดวิถีถ่องอีกช่วงหนึ่ง ซึ่งใช้เรียกกับทางหลวงแผ่นดินหมายเลข 101 ช่วงสุโขทัย–ศรีสำโรง–สวรรคโลก
ถนนในช่วงสุโขทัย–พิษณุโลก มีชื่อเรียกว่า ถนนสิงหวัฒน์ เริ่มต้นในเขตเทศบาลเมืองสุโขทัยธานี อำเภอเมืองสุโขทัย จังหวัดสุโขทัย มุ่งไปยังทิศตะวันออก บรรจบกับทางหลวงแผ่นดินหมายเลข 125 หรือถนนเลี่ยงเมืองสุโขทัย จากนั้นผ่านอำเภอกงไกรลาศ เข้าสู่จังหวัดพิษณุโลก ผ่านอำเภอพรหมพิราม จากนั้นเข้าสู่อำเภอเมืองพิษณุโลก ตัดกับถนนวงแหวนรอบเมืองพิษณุโลกด้านทิศเหนือ หรือทางหลวงแผ่นดินหมายเลข 126 ที่แยกเลี่ยงเมือง (บ้านกร่าง) จากนั้นผ่านศูนย์การค้าเซ็นทรัลพลาซา พิษณุโลก ศาลหลักเมืองพิษณุโลก ศาลากลางจังหวัดพิษณุโลก สิ้นสุดที่เชิงสะพานนเรศวรริมแม่น้ำน่านฝั่งตะวันตก ภายในเขตเทศบาลนครพิษณุโลก
ถนนในช่วงพิษณุโลก–หล่มสัก มีชื่อเรียกว่า ถนนมิตรภาพ เป็นถนนสายที่สองที่ได้รับการช่วยเหลือในการก่อสร้างจากรัฐบาลสหรัฐอเมริกา หลังจากก่อสร้างถนนมิตรภาพสายแรก (ทางหลวงแผ่นดินหมายเลข 2 ช่วงสระบุรี–นครราชสีมา) ถนนในช่วงนี้เริ่มต้นที่เชิงสะพานนเรศวร ริมแม่น้ำน่านฝั่งตะวันออก ในเขตเทศบาลนครพิษณุโลก อำเภอเมืองพิษณุโลก จังหวัดพิษณุโลก ตัดผ่านใจกลางเมืองพิษณุโลก ข้ามทางรถไฟสายเหนือ แล้วตัดกับทางหลวงแผ่นดินหมายเลข 11 กับถนนวงแหวนรอบเมืองพิษณุโลกด้านทิศใต้ หรือทางหลวงแผ่นดินหมายเลข 126 ที่สี่แยกอินโดจีน แล้วบรรจบกับถนนวงแหวนรอบเมืองพิษณุโลกด้านทิศเหนือ ที่แยกซีพี จากนั้นมุ่งหน้าไปทางทิศตะวันออกไปยังอำเภอวังทอง เข้าสู่เขตจังหวัดเพชรบูรณ์ ผ่านอำเภอเขาค้อ จนสิ้นสุดที่สี่แยกพ่อขุนผาเมือง ซึ่งตัดกับทางหลวงแผ่นดินหมายเลข 2466 ที่อำเภอหล่มสัก จังหวัดเพชรบูรณ์ ปัจจุบันได้รับการขยายเป็นถนนขนาด 4 ช่องจราจรตลอดทั้งสาย
ถนนช่วงหล่มสัก–ชุมแพนี้ กรมทางหลวงได้ก่อสร้างทางหลวงแผ่นดินหมายเลข 12 ช่วงหล่มสัก–ชุมแพ เพื่อให้แล้วเสร็จตามโครงการเส้นทางยุทธศาสตร์สายเศรษฐกิจตะวันออก-ตะวันตก โดยได้รับการช่วยเหลือเงินค่าก่อสร้างจากรัฐบาลออสเตรเลีย ทางหลวงในช่วงนี้เริ่มจากสี่แยกพ่อขุนผาเมืองในอำเภอหล่มสัก จังหวัดเพชรบูรณ์ ข้ามสะพานห้วยตอง ผ่านเขตอุทยานแห่งชาติน้ำหนาว อำเภอน้ำหนาว จากนั้นเข้าสู่เขตอำเภอคอนสาร จังหวัดชัยภูมิ แล้วเข้าเขตอำเภอน้ำหนาวอีกครั้งหนึ่ง ก่อนที่จะออกจากเขตอุทยาน แล้วเข้าสู่เขตอำเภอคอนสารครั้งที่สอง โดยมีทางแยกเข้าตัวอำเภอน้ำหนาว ที่สามแยกห้วยสนามทราย ต่อมาเข้าเขตอำเภอภูผาม่าน จังหวัดขอนแก่นเป็นระยะทางประมาณ 4 กิโลเมตร แล้วเข้าสู่เขตอำเภอคอนสารครั้งที่สาม และเข้าเขตอำเภอชุมแพ จังหวัดขอนแก่น ไปสิ้นสุดที่สามแยกถนนมะลิวัลย์ ที่ตำบลโนนหัน
ถนนช่วงชุมแพ–ขอนแก่น มีชื่อว่า ถนนมลิวรรณ เส้นทางเริ่มต้นจากตำบลโนนหัน อำเภอชุมแพ จังหวัดขอนแก่น จากนั้นผ่านอำเภอหนองเรือ อำเภอบ้านฝาง และอำเภอเมืองขอนแก่น ตัดผ่านถนนเลี่ยงเมืองขอนแก่นด้านตะวันตก และสิ้นสุดที่สี่แยกสามเหลี่ยม โดยตัดกับถนนมิตรภาพ (ทางหลวงแผ่นดินหมายเลข 2) และถนนประชาสโมสร ในเขตเทศบาลนครขอนแก่น มีระยะทางทั้งหมด 92 กิโลเมตร
นอกจากนี้ถนนมลิวรรณยังใช้เรียกกับทางหลวงแผ่นดินหมายเลข 201 ช่วงตำบลโนนหัน อำเภอชุมแพ จังหวัดขอนแก่น ถึงอำเภอเมืองเลย จังหวัดเลย อีกด้วย
ถนนช่วงขอนแก่น–ยางตลาด เดิมเป็นทางหลวงแผ่นดินหมายเลข 209 โดยมีเส้นทางเริ่มจากเทศบาลนครขอนแก่น อำเภอเมืองขอนแก่น จังหวัดขอนแก่น จากนั้น
ผ่านอำเภอเชียงยืน จังหวัดมหาสารคาม และไปสิ้นสุดที่อำเภอยางตลาด จังหวัดกาฬสินธุ์ ทางหลวงเส้นนี้มีระยะทางประมาณ 58 กิโลเมตร
ถนนช่วงยางตลาด–สมเด็จ มีชื่อเรียกว่า ถนนถีนานนท์ เดิมเป็นทางหลวงแผ่นดินหมายเลข 213 โดยมีเส้นทางเริ่มจากสี่แยกอำเภอยางตลาด ผ่านอำเภอเมืองกาฬสินธุ์ แต่ไม่ได้เข้าเมืองกาฬสินธุ์ แล้วไปสิ้นสุดที่สี่แยกสมเด็จ อำเภอสมเด็จ จังหวัดกาฬสินธุ์ โดยทางหลวงแผ่นดินหมายเลข 12 มีเส้นทางแยกออกไปทางขวา รวมระยะทางทั้งสิ้น 56 กิโลเมตร
ถนนช่วงสมเด็จ–มุกดาหาร เดิมเป็นทางหลวงแผ่นดินหมายเลข 2042 หรือ ทางหลวงแผ่นดินสายสี่แยกสมเด็จ–มุกดาหาร เริ่มจากอำเภอสมเด็จ ผ่านอำเภอห้วยผึ้ง อำเภอกุฉินารายณ์ เข้าเขตจังหวัดมุกดาหาร ผ่านอำเภอหนองสูง และไปตัดที่ถนนชยางกูร (ทางหลวงแผ่นดินหมายเลข 212) ในอำเภอเมืองมุกดาหาร จังหวัดมุกดาหาร จากนั้นไปสิ้นสุดที่เขตเทศบาลเมืองมุกดาหาร รวมระยะทาง 122 กิโลเมตร
กรมทางหลวงได้กำหนดทางหลวงหมายเลข 12 เฉพาะในช่วงตาก–ขอนแก่นเท่านั้น และกำหนดกิโลเมตรที่ 0 ตั้งอยู่ในอำเภอเมืองตาก และมีระยะทางรวมในตอนนั้นประมาณ 460 กิโลเมตร ต่อมากรมทางหลวงได้ประกาศให้เส้นทางสายแม่สอด–มุกดาหาร เป็นทางหลวงแผ่นดินหมายเลข 12 ตลอดทั้งสาย โดยเริ่มเปลี่ยนแปลงมาตั้งแต่วันที่ 1 ตุลาคม พ.ศ. 2551 ซึ่งได้เปลี่ยนหมายเลขของถนนสายอื่น ๆ ได้แก่ ทางหลวงแผ่นดินหมายเลข 105 เฉพาะในช่วงแม่สอด–ตาก (เดิมเป็นทางหลวงสายตาก–แม่สอด–แม่สะเรียง), ทางหลวงแผ่นดินหมายเลข 209 ตลอดทั้งสาย, ทางหลวงแผ่นดินหมายเลข 213 เฉพาะในช่วงยางตลาด–สมเด็จ และทางหลวงแผ่นดินหมายเลข 2042 ตลอดทั้งสาย เพื่อให้สอดคล้องกับเส้นทางยุทธศาสตร์สายเศรษฐกิจตะวันออก-ตะวันตก เต็มทั้งโครงการ โดยให้กิโลเมตรที่ 0 ตั้งอยู่ในอำเภอแม่สอดแทน
แต่เดิมนั้น กรมทางหลวงได้กำหนดให้ถนนวงแหวนรอบเมืองพิษณุโลก และทางเลี่ยงเมืองสุโขทัยเป็นทางหลวงแผ่นดินหมายเลข 12 ด้วย แต่ปัจจุบัน กำหนดให้ถนนวงแหวนรอบเมืองพิษณุโลกเป็นทางหลวงแผ่นดินหมายเลข 126 และทางเลี่ยงเมืองสุโขทัยเป็นทางหลวงแผ่นดินหมายเลข 125
ปัจจุบันมีโครงการก่อสร้างทางหลวงแผ่นดินหมายเลข 12 ตอนกาฬสินธุ์–นาไคร้ มีเส้นทางเริ่มต้นบนทางหลวงแผ่นดินหมายเลข 12 ที่ตำบลหลุบ อำเภอเมืองกาฬสินธุ์ ทางทิศตะวันตกของเมืองกาฬสินธุ์ ผ่านไปทางใต้ของตัวเมือง ไปสิ้นสุดบนทางหลวงแผ่นดินหมายเลข 12 ที่บ้านนาไคร้ ตำบลกุดหว้า อำเภอกุฉินารายณ์
ทางหลวงแผ่นดินหมายเลข 12 ผ่านสถานที่สำคัญและสถานที่ท่องเที่ยวต่าง ๆ เช่น