Perangkat lunak Optical Character Recognition (OCR), adalah perangkat lunak yang dirancang untuk menerjemahkan gambar teks menjadi teks sebenarnya yang dapat dibaca oleh komputer. Umumnya, ini digunakan setelah gambar dipindai ke komputer, meskipun bentuk input lain juga dapat digunakan. Perangkat lunak OCR bekerja paling baik pada teks yang telah diketik, baik dalam kasus di mana cetakan asli hilang, atau dalam lembar pemindaian yang diketik pada mesin tik. Perangkat lunak yang baik mungkin juga dapat menerjemahkan teks tulisan tangan, meskipun tingkat kesalahan pada konversi semacam ini cenderung jauh lebih tinggi.
Istilah sebenarnya perangkat lunak OCR agak menyesatkan, karena sebagian besar versi modern sebenarnya tidak menggunakan pengenalan karakter optik, tetapi sebenarnya menggunakan pengenalan karakter digital. Ini karena beberapa tahun yang lalu bidang-bidang tersebut secara efektif bergabung, dan kedua bidang tersebut mengadopsi istilah pengenalan karakter optik yang lebih menarik. Perangkat lunak OCR telah berkembang pesat dalam beberapa tahun terakhir, dengan program modern jauh lebih baik daripada pendahulunya dalam mengidentifikasi teks.
Faktanya, perangkat lunak OCR awal membutuhkan pelatihan program pada font tertentu sebelum dapat dimasukkan secara akurat. Demikian pula, ketika memasukkan tulisan tangan, program harus dilatih, sebuah proses yang bisa sangat memakan waktu. Namun, metode telah meningkat, dan sistem yang lebih cerdas sekarang menjadi norma. Metode yang digunakan sekarang relatif statis, dengan hanya sedikit penelitian yang dilakukan untuk mengembangkan metode yang sama sekali baru, dan sebagian besar penelitian dilakukan untuk menyempurnakan prosedur yang ada agar lebih akurat. Versi awal perangkat lunak digunakan dalam berbagai aplikasi, dengan perusahaan besar menggunakannya untuk membaca cetakan kartu kredit pada 1950-an, dan Layanan Pos Amerika Serikat menggunakannya untuk menyortir surat sejak pertengahan 1960-an.
Sepuluh tahun yang lalu, memilih bagian dari perangkat lunak OCR itu sulit, karena banyak program yang cukup buruk pada tugas-tugas tertentu, dan cukup baik pada yang lain. Hari-hari ini, bagaimanapun, lapangan sebagian besar telah diratakan. Tingkat akurasi dalam setiap perangkat lunak baik untuk menerjemahkan skrip Latin yang telah diketik berada di atas 99%. Namun, dalam hal memasukkan tulisan tangan, atau tipografi yang lebih rumit, perangkat lunak OCR masih memiliki jangkauan yang relatif tinggi.
Biaya perangkat lunak OCR juga berfluktuasi secara luas, seringkali terkait dengan tingkat akurasi yang dibanggakannya. Cukup banyak perangkat lunak bebas dapat ditemukan yang cocok untuk memasukkan materi cetak, dan beberapa dapat ditemukan yang relatif baik dalam mendeteksi tulisan tangan, terutama dengan beberapa pelatihan. Rangkaian perangkat lunak yang lebih mahal, seperti rangkaian OmniPage, yang berharga sekitar $100 Dolar AS (USD) untuk versi rumahan dan sekitar $450 USD untuk versi profesional, membanggakan rangkaian fitur yang mengesankan, dan umumnya tingkat keberhasilan yang lebih tinggi.
Sayangnya, masih belum ada perangkat lunak OCR yang sempurna, jadi memilih program untuk dibeli sebagian besar masih bisa menjadi proses yang membuat frustrasi. Bahkan program terbaik pun kemungkinan akan mengalami kesulitan dengan tulisan tangan, dan kesalahan pasti akan menjalar, bahkan pada level rendah. Sebagian besar, memilih program untuk dibeli bermuara pada fitur tambahan: dukungan multi-bahasa, pemindaian sekali sentuh dan integrasi konversi, konversi PDF otomatis, dan pengenalan seluruh kata di seluruh disiplin ilmu khusus seperti bidang hukum dan medis.