Generador de códigos de color ANSI
Elige un color de texto, un fondo y estilos como negrita o subrayado, mira exactamente cómo se ve en una terminal y copia código listo para ejecutar en bash, Python, JavaScript (Node.js) y C. Admite los 16 colores básicos, la paleta de 256 colores y el truecolor RGB de 24 bits.
Última actualización:
Vista previa
Cómo usar Generador de códigos de color ANSI
- Escribe el texto que quieres imprimir en la terminal.
- Elige un color de texto: uno de los 16 colores básicos, un número de la paleta de 256 colores o cualquier color RGB.
- Opcionalmente, elige un fondo y estilos como negrita, cursiva o subrayado.
- Revisa la vista previa y la secuencia de escape, y cambia a una terminal clara si es la que usas.
- Copia el código para tu lenguaje y ejecútalo; deja el restablecimiento al final para que la salida posterior no se vea afectada.
Referencia de códigos de color ANSI
| Color | Texto | Fondo | Texto brillante | Fondo brillante |
|---|---|---|---|---|
| Negro | 30 | 40 | 90 (gris) | 100 |
| Rojo | 31 | 41 | 91 | 101 |
| Verde | 32 | 42 | 92 | 102 |
| Amarillo | 33 | 43 | 93 | 103 |
| Azul | 34 | 44 | 94 | 104 |
| Magenta | 35 | 45 | 95 | 105 |
| Cian | 36 | 46 | 96 | 106 |
| Blanco | 37 | 47 | 97 | 107 |
| 256 colores | 38;5;n | 48;5;n | n = 0-255 | |
| Truecolor RGB | 38;2;r;g;b | 48;2;r;g;b | cada uno 0-255 | |
| Predeterminado | 39 | 49 | ||
Códigos de estilo
| Código | Efecto | Se desactiva con |
|---|---|---|
| 0 | Restablecer todo | |
| 1 | Negrita (algunas terminales también aclaran el color) | 22 |
| 2 | Atenuado / tenue | 22 |
| 3 | Cursiva | 23 |
| 4 | Subrayado | 24 |
| 5 | Parpadeo (a menudo desactivado) | 25 |
| 7 | Invertir texto y fondo | 27 |
| 8 | Oculto | 28 |
| 9 | Tachado | 29 |
Cómo se construye la paleta de 256 colores
Los números 0-15 son los colores básicos y brillantes del tema de tu terminal. Los números 16-231 forman un cubo de color de 6×6×6: el índice es 16 + 36×r + 6×g + b, donde r, g y b van de 0 a 5 y corresponden a los niveles de canal 0, 95, 135, 175, 215 y 255. Los números 232-255 son 24 tonos de gris de rgb(8, 8, 8) a rgb(238, 238, 238) en pasos de 10.
Consejos
- Colorea solo la salida interactiva. Comprueba si la salida va a una terminal (
[ -t 1 ]en shell,sys.stdout.isatty()en Python,process.stdout.isTTYen Node.js) y respeta la variable de entornoNO_COLOR. - No dependas solo del color. Añade una palabra o símbolo como "error:" o ✔ para que el mensaje sea claro para usuarios daltónicos y en los registros.
- Restablece siempre. Si olvidas
\033[0m, el prompt del usuario queda coloreado después de que tu programa termine.
Preguntas frecuentes
¿Qué son los códigos de color ANSI?
Los códigos de escape ANSI son secuencias de caracteres especiales que las terminales interpretan como formato en lugar de texto. Una secuencia empieza con el carácter de escape (ESC, escrito \033 o \x1b), seguido de [ , una lista de números separados por punto y coma y la letra m, por ejemplo \033[1;31m para rojo en negrita. Estos códigos SGR (Select Graphic Rendition) cambian el color y el estilo hasta un restablecimiento \033[0m.
¿Qué diferencia hay entre 16 colores, 256 colores y truecolor?
Los 16 colores básicos usan los códigos 30-37 y 90-97 para el texto y 40-47 y 100-107 para los fondos, y sus tonos exactos dependen del tema de la terminal. El modo de 256 colores usa 38;5;n y 48;5;n con un cubo de color fijo de 6x6x6 y 24 grises. Truecolor usa 38;2;r;g;b y 48;2;r;g;b para cualquiera de 16.7 millones de colores.
¿Por qué mi salida muestra códigos como ^[[31m o \033[31m literalmente?
El carácter de escape no se interpretó. En bash, usa printf o echo -e (echo a secas imprime las barras invertidas literalmente), o cadenas $'...'. En Python y C usa \033 dentro de una cadena literal normal. Si la salida va a un archivo o a un paginador como less, usa less -R para mostrar los colores.
¿Funcionan los colores ANSI en Windows?
Sí en Windows Terminal, PowerShell 7 y la terminal de VS Code. La consola heredada de Windows solo los procesa si está activado el procesamiento de terminal virtual; los programas de Python pueden llamar una vez a os.system("") o usar el paquete colorama para activarlo.
¿Cómo restablezco los colores a la normalidad?
Imprime \033[0m (SGR 0), que desactiva todos los colores y estilos. También se pueden desactivar atributos sueltos: 22 termina la negrita y el atenuado, 23 la cursiva, 24 el subrayado, 27 el invertido, 39 restaura el color de texto predeterminado y 49 el fondo predeterminado.
¿Debo usar \033, \x1b o \e?
Todos producen el mismo carácter de escape (27 en decimal). \033 (octal) funciona en printf de bash, Python y C; \x1b (hexadecimal) funciona en Python, C y JavaScript; \e funciona en bash y zsh pero no es C estándar ni lo admite Python. Las cadenas literales de JavaScript necesitan \x1b o \u001b.
¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?
Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.