Kesalahan pengguna adalah kesalahan yang dihasilkan dari kesalahan yang dibuat oleh pengguna. Jenis kesalahan ini dapat terjadi pada berbagai macam sistem, meskipun orang sering menggunakan istilah tersebut secara khusus untuk merujuk pada sistem komputer, termasuk sistem operasi dan program perangkat lunak. Kesalahan pengguna adalah masalah abadi, dan ada beberapa cara untuk mengatasinya.
Di beberapa komunitas, ada tingkat keangkuhan tertentu tentang kesalahan pengguna. Implikasinya adalah bahwa kesalahan pengguna adalah hasil dari kebodohan atau ketidakmampuan, yang bertentangan dengan sistem yang dirancang dengan buruk, antarmuka yang membingungkan, atau kesalahan sederhana yang tidak bersalah seperti mengetik “3” dan bukan “2.” Penentang sudut pandang ini berpendapat bahwa kesalahan pengguna seringkali merupakan kesalahan sistem, bukan pengguna; jika suatu sistem tidak intuitif atau mudah digunakan, misalnya, bukanlah kesalahan pengguna ketika dia mengalami kesulitan dengannya.
Dalam sistem yang dirancang dengan baik, langkah-langkah akan diambil untuk mengurangi kesalahan pengguna. Misalnya, banyak situs web memiliki fungsi pencarian yang secara otomatis mengoreksi kesalahan ejaan, atau yang menawarkan saran ejaan jika diduga ada pengguna yang melakukan kesalahan. Demikian juga, banyak antarmuka akan cukup memaafkan dengan jenis perintah yang digunakan orang untuk mengoperasikan sistem, atau akan memberikan peringatan jika mereka mencurigai bahwa pengguna mungkin melakukan tindakan yang tidak bijaksana. Sistem juga dapat disederhanakan dan disederhanakan sehingga lebih mudah dipahami dan dioperasikan, dengan tujuan memfasilitasi penggunaan di berbagai tingkat keterampilan.
Sistem lain mungkin lebih kaku dan menuntut, mengharapkan pengguna untuk mematuhi sintaks yang sangat tepat. Dalam sistem ini, failsafes seperti prompt dan kotak dialog peringatan mungkin tidak muncul, dengan arsitek sistem mengasumsikan bahwa pengguna tidak akan membuat kesalahan. Demikian juga, sistem tersebut mungkin tidak mengizinkan pengguna untuk membuat cadangan jika mereka membuat kesalahan, atau mungkin tidak menawarkan cara lain untuk menangani kesalahan yang dibuat. Sistem bahkan mungkin tidak memperingatkan pengguna saat terjadi kesalahan pengguna, yang dapat membuat frustasi saat terjadi kesalahan dan pengguna tidak tahu alasannya.
Teknisi yang dipanggil untuk memperbaiki berbagai sistem terkadang membuat komentar yang meremehkan tentang kesalahan pengguna jika mereka menduga bahwa masalah disebabkan oleh pengguna yang tidak terampil, atau jika mereka tidak dapat mereplikasi masalah karena itu adalah hasil dari kesalahan pengguna. Pendekatan yang lebih baik untuk masalah tersebut mungkin menawarkan untuk mendidik pengguna sehingga mereka tidak mengalami kesalahan di masa depan, atau meminta pengguna untuk menunjukkan apa yang mereka lakukan ketika kesalahan pengguna terjadi, sehingga teknisi dapat mengetahui apa yang terjadi.