También disponible en: English · Português · Français · العربية
Caracteres no permitidos en nombres de archivo
Pega un nombre, elige el sistema que te importa y obtén uno que se guarde de verdad, con cada cambio explicado en vez de aplicado en silencio.
¿Qué hace ilegal un nombre de archivo?
Menos de lo que crees en unos sistemas y mucho más de lo que crees en otros, y ahí está el problema. Linux prohíbe exactamente dos cosas dentro de un nombre: el byte nulo y la barra. Todo lo demás vale: dos puntos, interrogaciones, puntos finales, un archivo llamado NUL. macOS añade uno más, los dos puntos, heredados de HFS, donde ese carácter era el separador de rutas; por eso el Finder intercambia los dos puntos y la barra cuando te muestra un nombre.
Windows es el estricto. Prohíbe nueve caracteres imprimibles —menor que, mayor que, dos puntos, comillas dobles, barra, barra invertida, barra vertical, interrogación y asterisco—, además del byte nulo y de todos los caracteres de control del 1 al 31. Rechaza los nombres que terminan en punto o en espacio. Y reserva un conjunto de nombres de dispositivo que no pueden usarse como nombre de archivo en ningún directorio.
Así que un nombre que funciona en tu máquina puede fallar en la de un compañero, o dentro de un zip que él abra en Windows. Este saneador aplica las reglas que le pidas y por defecto las aplica todas a la vez.
Cómo usarlo
- Escribe o pega el nombre. Solo el nombre, no la ruta entera: las reglas que importan aquí se aplican a un componente cada vez.
- Elige qué reglas aplicar. «Seguro en todas partes» viene por defecto y es estrictamente la opción más agresiva; los sistemas sueltos están ahí para cuando sabes exactamente dónde va a acabar el archivo.
- Lee lo que cambió, no solo el resultado. Cada cambio aparece con su motivo, y un panel te dice cuál de los tres sistemas habría rechazado el nombre que escribiste.
Son 28 nombres reservados, no 22
Casi todas las listas de nombres reservados de Windows dan los mismos 22: CON, PRN, AUX, NUL, de COM1 a COM9 y de LPT1 a LPT9. La documentación de Microsoft incluye seis más, y son justo los que conviene conocer porque no hay forma de adivinarlos.
Esos seis son COM y LPT escritos con dígitos en superíndice, los caracteres ¹, ² y ³ de ISO/IEC 8859-1. Microsoft explica el motivo en una nota de esa misma página: Windows reconoce esos caracteres como dígitos y los trata como parte válida de un nombre de dispositivo COM o LPT, con lo que quedan reservados en todos los directorios. La documentación incluso da la prueba, señalando que escribir en COM con un uno en superíndice no llega a crear ningún archivo.
La reserva también sobrevive a la extensión, y eso pilla a más gente. NUL.txt y NUL.tar.gz equivalen los dos a NUL, porque la regla se aplica a todo lo que hay antes del primer punto y no a la parte anterior al último. Una herramienta que corte por el último punto se pierde el segundo caso; esta corta por el primero.
Lo que esta herramienta no hace
Sanea un nombre, no una ruta. El límite de 260 caracteres de Windows se aplica a la ruta completa, y ninguna herramienta que mire un solo nombre puede saber a qué profundidad acabará; los 255 caracteres que impone esta página son el límite por nombre que la mayoría de sistemas de archivos aplican aparte. Esos dos números se confunden constantemente y no miden lo mismo.
Tampoco puede decirte qué aceptará tu sistema de archivos concreto. Las reglas de aquí son las documentadas para Windows, para POSIX y para macOS, pero un recurso de red, un pendrive con FAT o un cliente de sincronización en la nube pueden ser más estrictos, a veces de formas no documentadas. Un nombre que esta página llame seguro en todas partes lo es frente a las reglas publicadas, que es todo lo que puede prometer una herramienta estática.
Y conserva a propósito el punto inicial. La documentación de Microsoft dice con todas las letras que un punto es aceptable como primer carácter de un nombre, así que .gitignore y .env son legales en Windows; el problema es solo el punto final. Quitarlo, como hacen algunos saneadores, rompería los dotfiles sin motivo.
¿Por qué es gratis?
Las reglas son unos cientos de bytes de tablas y el renombrado ocurre en tu propio navegador. Nada de lo que escribes se sube, no se registra nada y no hay cuenta que crear.
Sin registro, sin límites y sin marca de agua en nada de lo que copies.