En los años ochenta, IBM propuso un sistema de documentos que era capaz de identificar los elementos lógicos que contenían (títulos, capítulos, párrafos, listas, etc.) con algún tipo de etiqueta dentro del documento correspondiente. Este lenguaje se denominó lenguaje de marcas o de marcado (markup language) e IBM le dio el nombre de Lenguaje de Marcas Generalizado o GML (Generalized Markup Language).
En el estudio de los lenguajes de marcas, es importante conocer y diferenciar los conceptos de estructura lógica y física de un documento. La estructura lógica está formada por las partes y relaciones que lo constituyen. La estructura física indica el aspecto del documento, ya sea sobre el papel o en la pantalla donde se visualice, incluyendo sus componentes físicos, el lugar donde se colocan sus elementos y la tipografía de los textos que contiene.
IBM no llegó muy lejos con GML, pero, en 1986, la Organización Internacional de Estándares (ISO) presentó la publicación ISO 88879, que definía un lenguaje de marcas que servía para crear documentos estandarizados, el cual fue creado a partir de GML. A este nuevo lenguaje se le dio el nombre de SGML (Standard Generalized Markup Languaje).
SGML no almacena el diseño de los documentos, sino la estructura lógica de los mismos. Esto se consigue gracias al uso de etiquetas o tags que se incluyen entre los signos “<” y “>”. Estas etiquetas indican el comienzo y el final de elementos tales como párrafos, listas, títulos, etc. El objetivo de la creación de este lenguaje era asegurar que los documentos electrónicos fuesen independientes de los formatos de archivo binario (Word, WordPerfect, etc.) y de los sistemas operativos (Windows, Mac OS, etc.).
El SGML no prosperó debido fundamentalmente a su complejidad y al elevado coste que suponía adquirir una de las herramientas que se utilizaban para su creación.