Trong lập trình máy tính, hằng số (tiếng Anh: constant) là một giá trị mà không thể bị thay đổi bởi chương trình trong thời gian thực thi thông thường, ví dụ giá trị là hằng số.[a] Khi liên kết với một định danh, một hằng số được gọi là "được đặt tên", mặc dù thuật ngữ "hằng số" và "hằng số được đặt tên" có thể được sử dụng thay thế cho nhau. Điều này ngược với một biến (variable) khi mà định danh với một giá trị có thể thay đổi trong quá trình thực thi thông thường, ví dụ giá trị là biến. Hằng số có ích cho cả lập trình viên và trình biên dịch: với lập trình biên, chúng là một dạng mã tự ghi chú tài liệu và cho phép tranh luận về tính đúng đắn; trong khi với trình biên dịch, nó cho phép kiểm tra trong lúc biên dịch và trong lúc chạy để chắc rằng các giả định về sự bất biến không bị vi phạm, và cho phép hay đơn giản hóa các tối ưu hóa trình biên dịch.