NURBS, viết tắt của cụm từ tiếng Anh: "Non-uniform rational B-spline", là một mô hình toán học được sử dụng trong kĩ thuật đồ họa máy tính để biểu diễn đường cong và bề mặt.
Việc phát triển NURBS được bắt đầu từ những năm 1950 bởi những kĩ sư cần các biểu diễn toán học chính xác của các bề mặt tự do như vỏ của tàu thủy, bề mặt bên ngoài của tàu không gian vũ trụ, và vỏ ôtô, những thứ mà có thể sản xuất lại một cách chính xác bất cứ khi nào bằng kĩ thuật. Trước đó, loại bề mặt như vậy chỉ được biểu diễn bởi một mô hình tạo bởi một người thiết kế mỹ thuật công nghiệp.
Những người tiên phong cho cuộc phát triển này có Pierre Bézier, kỹ sư của Renault, và Paul de Casteljau làm việc cho Citroën, cả hai đều ở Pháp. Bézier đã làm việc gần như đồng thời với de Casteljau, không ai biết về công việc của người kia. Nhưng bởi vì Bézier đã công bố thành quả của ông ta, những người sử dụng công nghệ đồ họa máy tính ngày này công nhận đường Spline được biểu diễn với các điểm điều khiển giữ cữ cho đường cong là đường cong Bézier splines, Trong khi tên tuổi của de Casteljau chỉ được biết và dùng cho thuật toán mà ông ấy phát triển để ước định bề mặt toán học điều khiển tham số. Vào những năm 1960 mọi việc đã trở nên rõ ràng rằng non-uniform rational B-splines là sự khái quát hóa của đường cong Bézier splines.
Lúc đầu NURBS chỉ được sử dụng trong thuộc tính của gói phần mềm CAD của các công ty ôtô. Sau này chúng trở thành một phần của chuẩn gói chuẩn đồ họa máy tính.
Quá trình dựng ảnh tương tác thời gian thực của đường cong và bề mặt NURBS được tạo bởi máy trạm làm việc silicon vào năm 1989. Vào năm 1993 công cụ mô hình hóa tương tác NURBS cho máy tính cá nhân, gọi là NöRBS, đã được phát triển bởi CAS Berlin, một công ty nhỏ mới hình thành liên kết với trường đại học kĩ thuật Berlin. Ngày nay hầu hết các ứng dụng đồ họa máy tính chuyên nghiệp có sẵn cho máy tính để bàn đều sử dụng kỹ nghệ NURBS, các ứng dụng này thông thường nhất được thực hiện bởi việc kết hợp một công cụ NURBS từ một công ty chuyên sâu.
Một đường cong NURBS được xác định bởi các thông số: bậc, tập điểm điều khiển có trọng số, và một vector knot. Đường và mặt cong NURBS là trường hợp tổng quát của đường, mặt cong B-spline and Bézier, điểm khác biệt cơ bản là các điểm điều khiển đã được gán trọng số, khiến cho đường cong NURBS có tỉ lệ.