El código fuente y el código objeto se refieren a las versiones "antes" y "después" de un programa de computadora que se compila (ver compilador) antes de que esté listo para ejecutarse en una computadora. El código fuente consta de declaraciones de programación que son creadas por un programador con un editor de texto o una herramienta de programación visual y luego se guardan en un archivo. Por ejemplo, un programador que usa los tipos de lenguaje C en una secuencia deseada de declaraciones de lenguaje C usando un editor de texto y luego los guarda como un archivo con nombre. Se dice que este archivo contiene el código fuente. Ahora está listo para ser compilado con un compilador de C y la salida resultante, el archivo compilado, a menudo se denomina código objeto. El archivo de código de objeto contiene una secuencia de instrucciones que el procesador puede entender pero que es difícil de leer o modificar para un ser humano. Por esta razón y porque incluso los programas depurados a menudo necesitan alguna mejora posterior, el código fuente es la forma más permanente del programa.
Cuando compra o recibe un sistema operativo o software de aplicación, generalmente es en forma de código objeto compilado y el código fuente no está incluido. Los proveedores de software patentados generalmente no quieren que intente mejorar su código, ya que esto puede generar costos de servicio adicionales para ellos. Últimamente, hay un movimiento para desarrollar software (Linux es un ejemplo) que está abierto a nuevas mejoras por parte de cualquiera que quiera mejorarlo, y aquí se proporciona el código fuente.
En entornos de desarrollo de programas grandes, a menudo existen sistemas de administración que ayudan a los programadores a separar y realizar un seguimiento de los diferentes estados y niveles de los archivos de código. Para lenguajes de programa de secuencia de comandos (no compilados o interpretados), como JavaScript, los términos código fuente y código de objeto no aplique ya que solo hay una forma del código.