Käsikoodaus on ohjelmointi- ja koodaustekniikka, jossa käyttäjä kirjoittaa kaiken koodin manuaalisesti. Kun käyttäjä rakentaa verkkosivuston tai ohjelman, hän voi joko käsin koodata tai käyttää generaattoria, joka tunnetaan usein nimellä Mitä näet on mitä saat (WYSIWYG) -editori. Yksi etu käsikoodauksesta on pienempi koodausjalanjälki, joka saa sivustot ja ohjelmat latautumaan nopeasti ja siististi. Useimmat ohjelmoijia palkkaavat työpaikat edellyttävät, että he osaavat koodata, koska jotkin generaattorit voivat olla toiminnallisesti rajallisia. Verkkosivuston tai ohjelman manuaalisen koodauksen haitat ovat, että se kestää kauemmin ja on oppimiskäyrä.
Ohjelmoija, joka haluaa luoda verkkosivuston tai ohjelman, voi valita käsin koodin käytön tai generaattorin käytön. Käsikoodauksella käyttäjä kirjoittaa kaiken käsin; kaikki koodit kirjoitetaan tekstieditoriin käsin. Jos käytetään generaattoria, generaattori luo automaattisesti suuren osan koodista. Jos esimerkiksi ohjelmoija haluaa sijoittaa kuvan verkkosivustolle, hän voi vain avata kuvan generaattorissa ja generaattori luo kaiken koodauksen, joka tarvitaan kuvan kiinnittämiseen verkkosivustoon.
Käsikoodauksen ensisijainen etu on pieni koodausjalanjälki; generaattoria käytettäessä se luo usein ylimääräistä koodia. Jotkut generaattorit lisäävät tunnistuskoodin, joten muut käyttäjät tietävät, mikä generaattori loi verkkosivuston tai ohjelman. Muut generaattorit lisäävät ylimääräistä koodia tyydyttääkseen useiden vuosien koodausstandardit kerralla, joten ihmiset, joilla on aiemmat Internet -selaimet tai käyttöjärjestelmät, voivat edelleen käyttää verkkosivustoa tai ohjelmaa, mutta tämä on yleensä tarpeetonta. Käsin koodatulla verkkosivustolla tai ohjelmassa on tyypillisesti paljon vähemmän koodausta, joten latausajat ovat paljon nopeampia. Koodaus myös lataa puhtaampaa, mikä tarkoittaa, että on vähemmän mahdollisuuksia, että jokin ohjelman tai verkkosivuston osa latautuu väärin, jolloin koodi tulee näkyviin kuvan tai tekstin sijasta.
Jos ohjelmoija etsii uraa ohjelmien tai verkkosivustojen rakentamisessa, useimmat työnantajat kysyvät, että hän osaa koodata. Generaattorit pystyvät yleensä käsittelemään ja luomaan koodia melko hyvin, mutta generaattorit eivät ehkä pysty korjaamaan edistyneitä koodausongelmia. Käsikoodauksen tunteminen vaatii myös enemmän koodaustaitoja, mikä tekee ohjelmoijasta taitavamman koodauskielen.
Käsikoodauksessa on kaksi suurta haittaa: aika ja tieto. Verkkosivuston tai ohjelman luominen tyhjästä voi kestää tunteja tai päiviä kauemmin kuin generaattorin käyttäminen. Käsin koodaavien ohjelmoijien on myös tunnettava hyvin koodauskieli; muussa tapauksessa heidän on tarkistettava koodausviitteet usein verkkosivuston tai ohjelman luomisessa.