FreeToGenerate.com

Windows reserva 28 nombres de dispositivo. Casi todas las listas dicen 22.

El nombre que quieres usar

Un guion por defecto. Lo que escribas aquí se usa tal cual, así que elige algo que el sistema de destino admita.

24 / 255

Qué hubo que cambiar

  • Se sustituyeron caracteres que este sistema no admite en un nombre. Windows prohíbe nueve —menor que, mayor que, dos puntos, comillas dobles, barra, barra invertida, barra vertical, interrogación y asterisco—, mientras que Linux solo prohíbe la barra.
  • Se quitó un punto final. Windows no acepta nombres que terminen en punto, aunque un punto inicial va perfectamente, que es lo que hace posible .gitignore.

Qué sistemas rechazan el nombre que escribiste

Windows, macOS

Qué prohíbe cada sistema

WindowsmacOSLinux
Caracteres prohibidos< > : " / \ | ? */ :/
Nombres reservados28NoNo
Punto o espacio finalNoNo

Las reglas de Windows salen de Naming Files, Paths, and Namespaces de Microsoft; las demás son las reglas POSIX más los dos puntos que macOS hereda de HFS. No se sube nada: el renombrado ocurre en esta pestaña. (260)

Los 28 nombres reservados de Windows

CONPRNAUXNULCOM1COM2COM3COM4COM5COM6COM7COM8COM9COM¹COM²COM³LPT1LPT2LPT3LPT4LPT5LPT6LPT7LPT8LPT9LPT¹LPT²LPT³

No se pueden usar como nombre de archivo en Windows, con extensión o sin ella, en ningún directorio. Casi todas las listas publicadas traen 22.

Los seis marcados son los que casi ninguna lista incluye. La documentación de Microsoft trae COM y LPT escritos con dígitos en superíndice y explica por qué: Windows trata esos caracteres como dígitos, así que forman nombres de dispositivo válidos y quedan reservados en todas partes. La propia documentación da la prueba: escribir en COM con un uno en superíndice no llega a crear ningún archivo.

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

  1. Escribe o pega el nombre. Solo el nombre, no la ruta entera: las reglas que importan aquí se aplican a un componente cada vez.
  2. 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.
  3. 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.