In computing, hand-coding means editing the underlying representation of a document or a computer program, when tools that allow working on a higher level representation also exist. Typically this means editing the source code, or the textual representation of a document or program, instead of using a WYSIWYG editor that always displays an approximation of the final product. It may also mean translating the whole or parts of the source code into machine language manually instead of using a compiler or an automatic translator.
Most commonly, it refers to directly writing HTML documents for the web (rather than in a specialized editor), or to write a program or portion of a program in assembly language (more rarely raw machine code) rather than in a higher-level language. It can also include other markup languages, such as wikitext.