Inicio › Herramientas para desarrolladores › Generador de códigos de color ANSI

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:

Color de texto
Fondo
Estilo

Vista previa

Bash / shell
Python
JavaScript / Node.js
C / C++
    Publicidad
    Publicidad

    Cómo usar Generador de códigos de color ANSI

    1. Escribe el texto que quieres imprimir en la terminal.
    2. 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.
    3. Opcionalmente, elige un fondo y estilos como negrita, cursiva o subrayado.
    4. Revisa la vista previa y la secuencia de escape, y cambia a una terminal clara si es la que usas.
    5. 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

    ColorTextoFondoTexto brillanteFondo brillante
    Negro304090 (gris)100
    Rojo314191101
    Verde324292102
    Amarillo334393103
    Azul344494104
    Magenta354595105
    Cian364696106
    Blanco374797107
    256 colores38;5;n48;5;nn = 0-255
    Truecolor RGB38;2;r;g;b48;2;r;g;bcada uno 0-255
    Predeterminado3949

    Códigos de estilo

    CódigoEfectoSe desactiva con
    0Restablecer todo
    1Negrita (algunas terminales también aclaran el color)22
    2Atenuado / tenue22
    3Cursiva23
    4Subrayado24
    5Parpadeo (a menudo desactivado)25
    7Invertir texto y fondo27
    8Oculto28
    9Tachado29

    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.isTTY en Node.js) y respeta la variable de entorno NO_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.

    Herramientas relacionadas

    Ver todas las de Generadores de código →