Los datos en un CD normal se almacenan haciendo hoyos (agujeros), o no agujeros (tierras), en el medio del CD. Los hoyos perturban el reflejo de la luz. La transición de a 0
a a 1
o viceversa está determinada por el inicio o el final de un pozo (esto se denomina codificación NRZI). Existe una complicación adicional ya que estos bits son el "código de canal", no los bits de contenido; los últimos se recuperan decodificando los primeros. Y luego, algunos de los bits de "contenido" son realmente bits de código de corrección de errores. Pero en última instancia, los bits se codifican a través de agujeros o no agujeros en una capa reflectante de metal, generalmente aluminio.
Un CD-R funciona de la misma manera. Tiene una superficie reflectante, pero esta superficie está cubierta por un tinte. Puede usar un LÁSER de intensidad relativamente alta para calentar la capa de tinte y volverla opaca. Luego, el CD-R se puede leer de la misma manera que un CD normal. La luz se refleja o no.
Los CD-RW funcionan de la misma manera, pero usan una pintura que puede volverse opaca o no dependiendo del calor del LÁSER.
A diferencia del tinte en CD-RW, el Tinte en un CD-R no puede revertirse a su estado anterior. Esto es lo que impide reescribir en un CD-R ya escrito.
Nota: Reescribir con la misma imagen o una imagen con solo el bit correcto modificado parecería técnicamente posible, pero existen límites en cuanto a lo que se podría hacer. Lo mejor que podría hacer sería quemar un "hoyo" en medio de una "tierra" larga. Dado que las tierras tienen una longitud máxima de diez bits, y los hoyos y las tierras tienen una longitud mínima de tres, esto solo sería posible cuando una tierra existente tuviera nueve o diez bits de largo, y la única posibilidad sería un pozo de tres o tres Cuatro bits de largo. Hacer esto agregaría dos volteos de bits, y esto a su vez necesitaría cambiar los bits de ECC en otros lugares en el mismo bloque. Las posibilidades de que cada cambio se pueda hacer agregando un pozo en el medio de una tierra son muy, muy pequeñas, incluso si hubiera software o firmware de unidad que permitiría el intento.