Pengkodean karakter, dalam pemrograman komputer, adalah metode atau algoritma yang digunakan untuk menemukan representasi numerik dari karakter, mesin terbang, atau simbol. Penggunaan pengkodean karakter di komputer diperlukan karena informasi dalam memori komputer dan media yang dapat dibaca komputer disimpan sebagai urutan bit atau angka. Ini memerlukan penggunaan pengkodean untuk menerjemahkan karakter non-numerik yang digunakan untuk tampilan atau keluaran yang dapat dibaca manusia ke dalam bentuk yang dapat dimanipulasi oleh komputer. Dalam aplikasi yang lebih spesifik, dokumen HyperText Markup Language (HTML) yang dibaca oleh browser web dapat menentukan jenis pengkodean karakter apa yang mereka gunakan agar browser mengetahui set karakter spesifik mana yang akan digunakan saat menampilkan informasi dalam dokumen. Ada beberapa skema pengkodean yang digunakan, meskipun banyak dari set berpemilik dan warisan ini perlahan-lahan digantikan oleh standar penyandian Unicode®.
Pada hari-hari awal komputer, ketika ada ruang memori yang terbatas, karakter dasar alfabet Inggris – termasuk tanda baca dan angka – disimpan dalam urutan 7-bit yang memungkinkan 128 karakter berbeda. Dalam skema asli ini, setiap byte 7-bit mewakili satu karakter alfabet Inggris, diberi nomor secara berurutan. Pengkodean karakter ini efisien dan akhirnya distandarisasi dan digunakan di sebagian besar komputer yang diproduksi. Meskipun sistem pengkodean berkembang menjadi standar pengkodean Unicode®, konsepnya tetap sama. Yaitu, setiap karakter tunggal dalam suatu bahasa secara langsung terkait dengan satu angka dalam kumpulan karakter standar yang besar, dan angka itulah yang digunakan komputer untuk menyimpan, memproses, dan mengindeks karakter tersebut.
Jenis pengkodean karakter lainnya dikembangkan untuk alasan yang berbeda. Beberapa yang ditujukan khusus untuk alfabet Inggris dan dimaksudkan untuk digunakan untuk teks hanya memetakan karakter mereka ke urutan 7-bit dan kemudian menyebarkannya di 8-bit byte, atau oktet. Ini memiliki efek menghemat 1 bit per oktet, secara efektif menggunakan pengkodean karakter sebagai jenis kompresi. Skema pengkodean lain berusaha untuk memberikan informasi dasar tentang karakter, dan kemudian karakter tambahan untuk mewakili aksen khusus yang dapat digunakan saat menulis dalam bahasa yang berbeda, meskipun ini sebagian besar ditinggalkan untuk metode penyandian satu-ke-satu yang lebih sederhana.
Dalam dokumen HTML, pengkodean karakter kira-kira sama dengan konsep yang lebih luas, kecuali pengkodean yang didefinisikan mencakup seluruh rangkaian karakter. Ini bisa menjadi penting tidak hanya untuk bahasa asing, tetapi untuk dokumen yang menggunakan simbol khusus untuk sains atau matematika yang tidak ada di semua rangkaian karakter. Ini juga dapat berguna untuk menggunakan tanda baca dan mesin terbang lain yang mungkin tidak ada atau dipetakan secara berbeda di seluruh skema penyandian. Dokumen yang tidak mendefinisikan pengkodean karakter non-standar dengan benar dapat ditampilkan secara tidak benar atau diisi dengan karakter dan penampung yang tidak masuk akal alih-alih informasi yang dapat dibaca.