La noción de las extensiones de archivo (lo que va después del punto, como .txt, .exe, .doc) se popularizó con los sistemas operativos de la familia CP/M (Control Program for Microcomputers) a finales de los años 70, que permeó hasta (y heredó) MS-DOS.
En 1974, CP/M era uno de los sistemas operativos más usados en microcomputadoras. Los nombres de archivos en este se limitaban a 8 caracteres, seguidos de un punto y una extensión de hasta 3 caracteres (el famoso formato 8.3, e.g. README.TXT). La extensión no era decorativa: el sistema la usaba para asociar un tipo de archivo con un programa (por ejemplo, .TXT para archivos de texto, .COM para ejecutables, etcétera).
Optando por la simplicidad requerida por los limitados recursos de la computación casera y de escritorio, MS-DOS adoptó el esquema de CP/M, visto hasta entonces como una convención informal, y lo consolidó como standard mundial.
Por otra parte, en Unix y otros sistemas contemporáneos (así como en los sistemas derivados de estos), las extensiones no son necesarias para que el sistema operativo identifique el tipo de archivo; para ello se recurre a otros mecanismos:
- Metadatos y permisos: el sistema usa bits de permiso (ejecutable, lectura, escritura) y atributos en el sistema de archivos para decidir cómo tratar un archivo.
- Contenido del archivo: muchas aplicaciones miran directamente los primeros bytes (la magic number o cabecera) para saber de qué tipo es el archivo. Por ejemplo, un ejecutable ELF empieza con
0x7F ELF.
Claro que esto implica un sistema de archivos más complejo y más recursos para la identificación del archivo y la determinación de su procesamiento por defecto. Pero, dada la popularidad de la idea de las extensiones con las que cada vez más y más usuarios se familiarizaban por influencia de Microsoft, estas comenzaron a ser usadas como una convención para facilitar la identificación y usabilidad de los archivos y sus formatos.
Sin embargo, y en contraste, desde hace tiempo se hizo presente la idea de ocultar las extensiones en interfaces gráficas como Finder en macOS, utilidades como el Windows Explorer de Windows, e interfaces similares en Linux que no vienen propiamente de Unix. Todo ello en un intento de simplificar la experiencia para usuarios no técnicos. Algunas justificaciones o razonamientos son:
- Experiencia de usuario más «limpia»:
- Para alguien no técnico, ver documento.txt o foto.jpg añade “ruido”.
- Al ocultar extensiones, la interfaz muestra solo el “nombre amigable”: documento o foto.
- Asociación a aplicaciones mediante iconos:
- Los sistemas gráficos muestran iconos específicos (Word, Photoshop, VLC).
- Se asume que el icono más el nombre basta para identificar el tipo de archivo.
- Consistencia con documentos impresos o físicos:
- La metáfora de “carpetas y papeles” en la GUI pretende imitar la oficina: en una carpeta física no ves “.txt” al final de un documento.
Pero esto trae algunos problemas:
- Seguridad: ocultar extensiones puede facilitar engaños. Ejemplo: un archivo llamado reporte.pdf.exe puede mostrarse como reporte.pdf, lo que en Windows fue causa de muchos virus en los 2000.
- Ambigüedad: algunos archivos pueden tener el mismo nombre base pero distintas extensiones (informe.doc vs informe.pdf). Ocultar la extensión hace imposible distinguirlos sin abrirlos.
- Frustración para usuarios técnicos: para programadores, administradores o power users, la extensión es clave para reconocer y manipular archivos rápidamente.
Haciendo un recuento histórico, tenemos:
1970–1980: Unix clásico y primeras GUIs
- Unix (textual): nunca dependió de extensiones; el tipo de archivo se deducía por permisos y cabeceras (magic numbers).
- X Window System (1984): primeras GUIs en Unix; mostraban nombres completos, extensiones incluidas.
1984: Macintosh System 1
- El Mac original no usaba extensiones.
- Apple usaba “file type” y “creator codes” almacenados en metadatos del sistema de archivos HFS.
- Para el usuario, los nombres de archivo eran “limpios”, sin sufijos
.txto.jpg.
1990-1995: Windows 3.x y 95
- Windows 3.x: mostraba siempre las extensiones (
.exe,.txt, etc.). - Windows 95 (1995): introduce la opción de “ocultar extensiones de archivo para tipos conocidos”.
- Motivo: hacer el sistema “menos técnico” y más amigable.
- Efecto colateral: malware que se hacía pasar por documentos (virus adjuntos con
.jpg.exe).
1990-1999: Linux y GUIs tipo Unix
- GNOME (1999) y KDE (1996): mostraban extensiones por defecto.
- Filosofía Unix: “un nombre es solo un nombre”. Las extensiones eran útiles para humanos y no se ocultaban.
2001: Mac OS X
- Apple abandona los creator codes y pasa a un sistema híbrido:
- Usa extensiones para compatibilidad con Unix y Windows.
- Finder oculta extensiones por defecto, pero permite mostrarlas globalmente o archivo por archivo.
- Justificación: “Los usuarios normales no necesitan verlas”.
2000–2010: Windows XP, Vista, 7
- Windows mantiene la opción activada por defecto: extensiones ocultas para tipos “conocidos”.
- Esto sigue generando problemas de seguridad.
- Usuarios avanzados suelen desactivar la opción inmediatamente.
2000–hoy: Linux moderno
- Nautilus, Dolphin, Thunar: extensiones visibles por defecto.
- En general, el escritorio Linux se mantiene del lado de la transparencia para el usuario.
2010–hoy: macOS
- Finder sigue ocultando extensiones por defecto.
- Se pueden mostrar todas (
Preferencias del Finder → Avanzado) o solo en ciertos archivos. - Apple apuesta por la metáfora visual (iconos, QuickLook) en lugar de depender de extensiones.
2015-hoy: Windows 10–11
- La configuración sigue igual que en los 90: extensiones ocultas por defecto.
- Críticas de seguridad persisten, aunque Microsoft confía en SmartScreen y antivirus integrados.
El balance actual es el que en macOS, Finder por defecto oculta muchas extensiones, Windows Explorer oculta extensiones “conocidas”, pero en “Opciones de carpeta” hay un switch para mostrarlas siempre. En Linux (Nautilus, Dolphin, etc.) suelen mostrarlas, aunque con opciones para ocultar si se desea.


