ดักไทปปิง หรือ ดั๊กไทป์ปิ้ง (en: Duck typing) เป็นวิธีกำหนดชนิดของวัตถุ ในภาษาเชิงวัตถุ ดักไทปปิงเป็นกฏสูงสุดในการกำหนด ชนิดของไทปปิง ไทปปิงทำหน้าที่กำหนดชนิดของตัวแปร รวมไปถึง ชนิดของวัตถุ และ เมธอท การตั้งค่าต่างๆด้วย ชื่อของ ดักไทปปิง ได้มาจากข้อความของ เจมส์ วิธคอม ไลลี่ย์ นักประพันธ์ชาวสหรัฐอเมริกา ที่กล่าวว่า

"เมื่อผมเห็นนกตัวหนึ่ง เดินเหมือนเป็ด ว่ายน้ำเหมือนเป็ด และร้องเหมือนเป็ด ผมจึงเรียกนกตัวนั้นว่าเป็ด"

ในทางโปรแกรมเมื่อเราส่งผ่านค่าไปยังฟังก์ชั่น เพื่อเรียกใช้งานวัตถุ ในภาษาที่ไม่ใช้ ดักไทป ผลคือเราต้องเรียกหา วัตถุที่ชื่อว่า เป็ด เท่านั้น แต่ในโปรแกรมประเภทดักไทป เราสามารถส่งค่าเหล่านั้นไปได้ โดยสะดวก เพราะถ้าวัตถุนั้นมี เมธอทเดินแบบเป็ด เมธอทว่ายน้ำแบบเป็ด เมธอทร้องแบบเดียวกับเป็ด ถือว่าวัตถุนั้นเสมือนว่า ชื่อเป็ดได้เช่นกันตัวอย่าง

function calculate(a, b, c) => return (a + b)*c
 
example1 = calculate (1, 2, 3)
example2 = calculate ([1, 2, 3], [4, 5, 6], 2) 
example3 = calculate ('apples ', 'and oranges, ', 3)

print to_string example1
print to_string example2
print to_string example3

จะเห็นว่าเราส่งตัวแปรเข้า ฟังก์ชั่น calculate โดยไม่ได้คำนึงถึงชนิดของข้อมูลเลย ค่าของตัวแปรในลิสต์เดียวกันก็มีความหลายหลายมาก ในตัวแปรลิสต์เดียวกันมีทั้งตัวแปรที่เป็น เลขจำนวนเต็ม เป็นตัวหนังสือ เป็นลิสต์ของลิสต์ เป็นต้น

รายชื่อโปรแกรมภาษาดักไทปปิง แก้