Skip to content

Terminal serial online (monitor serie en el navegador)

Monitor serie en Chrome o Edge sin instalar nada: conecta CH340, CP2102, ESP32 o Arduino, envía texto o HEX, también periódicamente, con CRC-16 Modbus automático. ¿Caracteres extraños? Detecta GBK y redibuja lo ya recibido.

Se ejecuta en el navegador Gratis
Tu navegador lee y escribe en el puerto directamente: los datos serie nunca se envían a nuestros servidores.
Sin conectar

Conecta un dispositivo y aquí aparecerán los datos que envíe.

ms
Envío rápido
Las rutas de envío y recepción se prueban byte a byte contra un puerto serie simulado en el navegador: caracteres GBK y UTF-8 partidos entre dos lecturas, CRC-16/MODBUS (01 03 00 00 00 0A → C5 CD, 01 06 00 01 00 03 → 98 0B), XOR, suma de 8 bits y separación de tramas por silencios están cubiertos por pruebas unitarias y de extremo a extremo, con valores de CRC obtenidos de una implementación independiente. — Equipo Go Tools · Oct 11, 2026

Creado y verificado por el equipo de ingeniería de Go Tools.

Terminal serial: respuestas rápidas

¿Qué navegadores pueden abrir un puerto serie?

Chrome, Edge y Opera de escritorio Estos navegadores basados en Chromium (Chrome 89 y posteriores) incluyen la Web Serial API: abre la página y haz clic en Elegir puerto y conectar. Firefox 151 y posteriores de escritorio también funciona una vez instalado el complemento de permisos del sitio que te ofrece; Safari e iOS no la admiten. El dispositivo demo muestra todas las funciones en cualquier navegador.

¿Por qué el texto chino que imprime printf sale ilegible?

Una causa habitual: el dispositivo envía GBK Los proyectos de microcontroladores chinos en Keil o IAR suelen guardarse en GBK, así que printf envía bytes GBK. La herramienta detecta cuándo los datos se leen correctamente como GBK, te ofrece cambiar y vuelve a mostrar lo que ya se ha recibido. Si las letras y los dígitos también salen ilegibles, revisa primero la velocidad en baudios.

¿Qué significa Failed to open serial port?

El navegador no dice por qué Todos los fallos producen el mismo mensaje, Failed to open serial port. Repasa las causas habituales: cierra otras herramientas serie, el monitor serie del Arduino IDE y los depuradores; en Linux añade tu usuario al grupo dialout (uucp en Arch); comprueba que el dispositivo sigue conectado; prueba una velocidad estándar.

¿Qué byte del CRC envía Modbus primero?

El byte bajo El CRC-16/MODBUS de 01 03 00 00 00 0A es 0xCDC5, que viaja por la línea como C5 CD. Elige Añadir suma de verificación → CRC-16/MODBUS y la herramienta lo añade en ese orden y lo muestra en la vista previa.

¿Los comandos AT no reciben respuesta?

Termina la línea con \r\n El firmware AT de ESP8266 y ESP32 toma retorno de carro + salto de línea (\r\n) como fin de comando, así que un AT a secas se queda esperando. Pon el fin de línea en \r\n (CRLF) y vuelve a enviar.

¿Qué es un terminal serial online?

Un terminal serial, o monitor serie, abre un puerto serie de tu ordenador — un puerto COM, normalmente creado por un chip USB-serie como el CH340 o el CP2102 — e intercambia bytes con un dispositivo a su velocidad en baudios: leer el log que imprime un microcontrolador, enviar comandos AT a un módulo, comunicarse con un equipo Modbus. Las herramientas tradicionales son programas de escritorio. Esta usa la Web Serial API integrada en el navegador, así que no necesita instalación y funciona en Chrome y Edge en Windows, macOS y Linux.

Tu navegador lee y escribe en el puerto directamente; la herramienta nunca envía los datos serie a nuestros servidores. La página tampoco puede buscar puertos por su cuenta: solo puede abrir un puerto que tú eliges y autorizas en el diálogo del navegador.

Dos cosas distinguen esta herramienta de la mayoría de terminales serie. Guarda los bytes en bruto que recibe, así que cambiar entre UTF-8 y GBK, o entre la vista Texto y la vista HEX, redibuja toda la pantalla con el nuevo ajuste: una salida ilegible no obliga a empezar de cero. Y muestra en una vista previa cada byte que va a escribir, con la suma de verificación y el fin de línea marcados aparte; un error de tecleo en la entrada HEX se señala indicando el carácter culpable, en lugar de desaparecer en silencio de la trama.

# Text view, line ending \r\n
[09:30:01.204] → AT␍␊
[09:30:01.219] OK
# HEX view, CRC-16/MODBUS appended (low byte first)
[09:30:02.517] → 01 03 00 00 00 0A C5 CD
[09:30:02.539] 01 03 14 00 64 00 65 00 66 00 67 00 68 00 69 00 6A 00 6B 00 6C 00 6D 63 D1

Funciones del terminal serial web

Sin instalación — Windows, Mac y Linux

Basado en la Web Serial API del navegador: Chrome, Edge y Opera de escritorio se conectan a adaptadores CH340, CP2102, FT232 y PL2303, y también al USB serie nativo de placas como la ESP32-S3 y Arduino. Útil en equipos de trabajo bloqueados o en un Mac sin una herramienta serie que te convenza.

Diagnóstico de caracteres extraños

Cuando los bytes entrantes se decodifican como basura, la herramienta vuelve a leer los datos más recientes en otra codificación y, si tienen sentido, te ofrece Cambiar a GBK. Al cambiar se redecodifica todo lo ya recibido, no solo los datos nuevos. También hay una vista ASCII / Latin-1 de un byte por carácter.

Texto y HEX, con vista previa de bytes

Escribe HEX como 01 03 00, 0x01,0x03 o 010300; los caracteres no válidos y las cantidades impares de dígitos se señalan, no se omiten. Los bytes que se van a escribir aparecen bajo la entrada, con la suma de verificación y el fin de línea entre corchetes. El modo Texto ofrece los finales de línea \r\n, \n o \r y, opcionalmente, los escapes \r \n \xHH.

CRC, XOR y suma de 8 bits añadidos automáticamente

Añade CRC-16/MODBUS (byte bajo primero), XOR (BCC) o una suma de 8 bits a cada trama: no necesitas una calculadora aparte para Modbus RTU. Para otras variantes de CRC, consulta primero los parámetros con una calculadora CRC y añade los bytes a mano.

Tramas separadas por silencios, marcas de tiempo en milisegundos

En la vista HEX empieza una trama nueva cada vez que la línea ha estado en silencio más tiempo que los milisegundos configurados (50 ms por defecto), así que los protocolos de petición/respuesta muestran una trama por línea. Cada línea lleva una marca de tiempo en milisegundos y los contadores de bytes se actualizan en directo.

Envío periódico, historial y exportación del registro

Repite un comando a intervalos fijos para hacer sondeo o pruebas de resistencia, reenvía comandos recientes con un clic y exporta el registro como texto con marcas de tiempo, dirección y HEX en bruto, para poder redecodificarlo o analizarlo más tarde con otra herramienta.

Ejemplos serie: comandos AT, Modbus, caracteres extraños

Probar un módulo AT (firmware AT de ESP8266 / ESP32)

Enviar (texto, fin de línea \r\n): AT
Bytes escritos: 41 54 0D 0A
Respuesta: OK

El firmware ESP-AT da por terminado un comando con retorno de carro + salto de línea; si solo se escribe 41 54, el módulo sigue esperando. Con el fin de línea \r\n, la vista previa muestra 41 54 [0D 0A].

Leer registros de retención Modbus RTU (CRC añadido automáticamente)

Enviar (HEX, añadir CRC-16/MODBUS): 01 03 00 00 00 0A
Bytes escritos: 01 03 00 00 00 0A C5 CD
Respuesta del esclavo: 01 03 14 00 64 00 65 … 00 6D 63 D1

Esclavo 01, función 03, dirección inicial 0000, cantidad 000A. El CRC es 0xCDC5 y Modbus envía primero el byte bajo, así que por la línea sale C5 CD. En la respuesta, 14 es el número de bytes (20 bytes = 10 registros) y los dos últimos bytes son de nuevo un CRC con el byte bajo primero. El dispositivo demo responde exactamente con este formato.

El texto chino que imprime un microcontrolador sale como basura

Recibido: CE C2 B6 C8 3A 32 35 A1 E6 0D 0A
Como UTF-8: �¶�:25��
Como GBK: 温度:25℃

Los mismos bytes son basura en UTF-8 y se leen 温度:25℃ (temperatura: 25 °C) en GBK. No hay nada corrupto: los dos extremos simplemente no coinciden en la codificación. La herramienta lo detecta y te ofrece cambiar.

Trama de un protocolo propio con suma de verificación XOR

Enviar (HEX, añadir XOR / BCC): AA 55 01 02
Bytes escritos: AA 55 01 02 FC

XOR combina todos los bytes de la carga útil: AA ⊕ 55 ⊕ 01 ⊕ 02 = FC. La suma de verificación cubre todos los bytes del cuadro de entrada; si tu protocolo deja la cabecera fuera del cálculo, calcula esa suma aparte y escríbela tú.

Cómo usar el terminal serial online

  1. 1

    Conecta el dispositivo

    Conecta la placa o el adaptador USB-serie al ordenador. En Windows debería aparecer un nuevo puerto COM en el Administrador de dispositivos, bajo Puertos (COM y LPT); si no aparece, falta el driver o el cable solo sirve para cargar.

  2. 2

    Ajusta la configuración del puerto

    La velocidad en baudios, los bits de datos, la paridad y los bits de parada deben coincidir con el firmware: 115200 8N1 y 9600 8N1 son los habituales. La configuración se bloquea mientras hay conexión; desconecta para cambiarla.

  3. 3

    Elige el puerto y conecta

    Haz clic en Elegir puerto y conectar y selecciona el puerto en la lista del navegador. La barra de estado indica el fabricante del chip según su vendor ID USB, por ejemplo WCH (QinHeng) o Silicon Labs CP210x. ¿Sin hardware? Haz clic en Dispositivo demo.

  4. 4

    Observa los datos entrantes

    La vista Texto muestra una línea por cada línea recibida, cada una con su marca de tiempo en milisegundos. Para protocolos binarios cambia a la vista HEX, que separa las tramas por los silencios. Si el texto sale ilegible, sigue el aviso de codificación.

  5. 5

    Envía y guarda el registro

    Elige Texto o HEX, un fin de línea y una suma de verificación, revisa la vista previa de bytes y pulsa Ctrl+Enter. Usa el envío periódico para hacer sondeo. Cuando termines, haz clic en Guardar registro para exportarlo todo.

Problemas serie habituales: basura, sin respuesta, el puerto no abre

El texto chino sale como basura

El dispositivo envía GBK pero el terminal decodifica UTF-8, así que cada carácter chino se convierte en caracteres de reemplazo o símbolos sueltos. Los datos están bien; léelos con la codificación correcta.

✗ Incorrecto
Codificación: UTF-8
Se muestra: �¶�:25��
✓ Correcto
Codificación: GBK
Se muestra: 温度:25℃

El comando AT no recibe respuesta

El firmware AT de ESP8266 y ESP32 solo empieza a analizar un comando después de \r\n. Con el fin de línea en Ninguno, solo se escribieron los dos bytes 41 54.

✗ Incorrecto
41 54
✓ Correcto
41 54 0D 0A

El esclavo Modbus no responde

Una trama RTU necesita un CRC correcto con el byte bajo primero, y nada detrás. Sin el CRC, con sus bytes invertidos o con un fin de línea 0D 0A todavía activado en modo HEX, el esclavo descarta la trama por corrupta y no devuelve nada.

✗ Incorrecto
01 03 00 00 00 0A CD C5
✓ Correcto
01 03 00 00 00 0A C5 CD

Todo sale como basura, incluso letras y dígitos

Esto rara vez es un problema de codificación. La velocidad en baudios — o los bits de datos o la paridad — no coincide con el dispositivo, así que cada byte se muestrea en los instantes equivocados; con el doble o la mitad de la velocidad del dispositivo, lo normal es recibir muchos menos o muchos más bytes de los enviados, casi todos sin sentido. Usa los valores que fija el firmware.

✗ Incorrecto
Terminal 57600 8N1, dispositivo 115200 8N1
✓ Correcto
Terminal 115200 8N1, dispositivo 115200 8N1

Cuándo sirve un terminal serial en el navegador

Salida de depuración de Arduino y ESP32
Lee lo que imprime Serial.println() — lecturas de sensores, cambios de estado — con marcas de tiempo en milisegundos para seguir el orden de ejecución.
Logs de printf en STM32 y 8051
En proyectos en chino, printf redirigido a una USART suele imprimir GBK. Cambia aquí la codificación en lugar de modificar el firmware.
Puesta en marcha de equipos Modbus RTU
Comunícate con medidores y PLC mediante un adaptador RS-485 a USB: envía HEX con el CRC añadido y ve las respuestas separadas en tramas. Los registros que guardan valores de coma flotante llegan como cuatro bytes en bruto en formato IEEE 754.
Configuración de módulos con comandos AT
Envía comandos AT a módulos Wi-Fi, celulares y Bluetooth con el fin de línea correcto, y guarda los comandos frecuentes en el historial de envío para reenviarlos con un clic.
Comprobaciones rápidas en equipos sin tus herramientas
En un PC de trabajo bloqueado, un equipo compartido de laboratorio, un Mac o una máquina Linux, abre la página y listo. Para leer el HEX capturado como texto en otras codificaciones, pégalo en Hexadecimal a texto.

Cómo funcionan la comunicación serie y Web Serial

Cómo abre un puerto la Web Serial API
El navegador abre el puerto a través del driver serie del sistema operativo — un puerto COM en Windows, /dev/cu.* en macOS, /dev/ttyUSB* o /dev/ttyACM* en Linux — y entrega a la página dos flujos de bytes: un ReadableStream para los datos entrantes y un WritableStream para los salientes. El acceso se concede puerto a puerto y solo a través del selector propio del navegador; una página no puede enumerar por sí sola los puertos serie de tu equipo.
8N1 y la velocidad en baudios
8N1 significa 8 bits de datos, sin paridad, 1 bit de parada. Con el bit de inicio, cada byte ocupa 10 bits en la línea, así que 115200 baudios transportan como máximo unos 11.520 bytes por segundo, y 9600 baudios unos 960. Si la velocidad en baudios difiere mucho, o no coinciden los bits de datos o la paridad, los datos salen como basura (Windows además informa de errores de trama).
Por qué hay que separar las tramas
Una línea serie no tiene noción de paquetes. El chip USB-serie agrupa los bytes recibidos en paquetes USB, y cada lectura del navegador devuelve uno de esos bloques: una trama puede llegar en dos bloques, o varias tramas en uno. La vista HEX vuelve a dividir el flujo según el tiempo de silencio entre bloques. El navegador solo sabe cuándo llegó cada bloque a la página, no cuándo cruzó la línea cada byte, por eso el umbral por defecto es de 50 ms; ajústalo a tu protocolo. Modbus RTU exige de por sí al menos 3,5 tiempos de carácter de silencio entre tramas — unos 4 ms a 9600 baudios —, algo que un navegador no puede medir con tanta precisión, así que la separación por silencios es una aproximación, no un detector de tramas exacto según Modbus.
Bytes UTF-8 frente a bytes GBK
温度 (temperatura) es E6 B8 A9 E5 BA A6 en UTF-8, tres bytes por carácter, y CE C2 B6 C8 en GBK, dos bytes por carácter. Los bytes de un carácter pueden quedar repartidos entre dos lecturas, así que la decodificación se hace en flujo y guarda la cola incompleta para el bloque siguiente; cambiar de codificación redecodifica a partir de los bytes en bruto.
Cómo funcionan las tres sumas de verificación
CRC-16/MODBUS: polinomio 0x8005 (0xA001 en forma reflejada), valor inicial 0xFFFF, entrada y salida reflejadas, sin XOR final, enviado con el byte bajo primero. XOR (BCC): todos los bytes combinados con XOR en un solo byte. SUM8: todos los bytes sumados, conservando solo los 8 bits bajos. Las tres cubren solo la carga útil, nunca el fin de línea que se añade después.

Consejos de depuración serie

Revisa la configuración antes que la codificación
Cuando la salida es ilegible, asegúrate primero de que la velocidad en baudios, los bits de datos, la paridad y los bits de parada coinciden con el dispositivo. Con una configuración errónea, ninguna codificación se leerá bien.
Usa la vista HEX para protocolos binarios
Protocolos como Modbus están llenos de bytes 00, 0D y 0A que la vista de texto trata como saltos de línea o caracteres de control — la tabla ASCII los recoge todos. Cambia a la vista HEX y ajusta el intervalo de trama un poco por encima de la pausa de respuesta del dispositivo.
Usa una sola codificación en firmware y terminal
En proyectos nuevos, guarda los archivos fuente en UTF-8 para que los logs se lean bien en todas partes. En proyectos GBK existentes, pon aquí la codificación en GBK una vez; la herramienta lo recuerda.
Conserva el registro HEX en bruto
Al perseguir fallos intermitentes, el registro exportado conserva los bytes en bruto y la marca de tiempo en milisegundos de cada bloque. Guardar solo el texto decodificado dejaría fijada en el archivo la codificación elegida.
No pongas un intervalo de envío periódico demasiado corto
El intervalo debe superar el tiempo que necesita el dispositivo para procesar un comando y responder; si no, las peticiones se acumulan y las respuestas dejan de corresponderse con ellas. Toma el tiempo de respuesta del manual del dispositivo y deja margen.

Preguntas frecuentes sobre el terminal serial

¿Hay que descargar o instalar algo?
En Chrome o Edge, no: la página usa la Web Serial API integrada en el navegador, sin cliente de escritorio ni extensión. En Firefox 151 y posteriores primero instalas el complemento de permisos del sitio que te pide; es el mecanismo de permisos del navegador, no un driver serie. En cualquier caso necesitas el driver del chip serie: si aparece un puerto COM en el Administrador de dispositivos, el driver funciona; si no, descárgalo de la web del fabricante del chip.
¿Qué navegadores funcionan? ¿Se puede usar en el móvil?
Chrome, Edge y Opera de escritorio (Chrome 89 y posteriores) se conectan directamente. Firefox 151 y posteriores de escritorio también funciona después de instalar el complemento de permisos del sitio que te pide. Safari e iOS no admiten Web Serial. Chrome para Android 138+ solo expone puertos serie Bluetooth (RFCOMM); el serie USB por cable requiere Chrome 148+ en Android 17, y además el propio teléfono tiene que exponer puertos serie por cable. Donde la página no puede conectarse lo indica, y el dispositivo demo sigue funcionando.
¿Se sube algún dato serie a un servidor?
No. Tu navegador lee y escribe en el puerto directamente, y la herramienta nunca envía a nuestros servidores los bytes que envías o recibes. El historial de envío y la configuración se guardan en tu propio navegador.
La lista de puertos sale vacía después de hacer clic en Elegir puerto y conectar. ¿Qué hago?
El sistema operativo no ha detectado ningún dispositivo serie. Comprueba que el cable transmite datos y no solo alimentación, y que la placa está alimentada. En Windows debería aparecer un puerto COM en el Administrador de dispositivos; si no aparece, instala el driver del chip (CH340, CP2102, etc.).
¿Por qué no se abre el puerto?
El navegador informa de cualquier fallo con el mismo mensaje, Failed to open serial port., así que la causa hay que encontrarla por descarte. Una causa habitual es que otro programa tenga ocupado el puerto: cierra otras herramientas serie, el monitor serie del Arduino IDE, un IDE que esté depurando u otra pestaña con esta herramienta. En Linux tu usuario debe pertenecer al grupo dialout (uucp en Arch). Comprueba también que el dispositivo sigue conectado y prueba una velocidad estándar: algunos drivers rechazan las poco habituales.
¿Cómo arreglo el texto chino ilegible?
Fíjate primero en las letras latinas y los dígitos. Si se ven bien y solo el chino sale ilegible, es un desajuste de codificación; un caso habitual es un dispositivo que envía GBK. La herramienta lo detecta, te ofrece cambiar y vuelve a mostrar lo ya recibido. Si las letras y los dígitos también salen ilegibles, la velocidad en baudios u otro ajuste no coincide con el dispositivo.
¿Cómo envío HEX? ¿Qué formatos se aceptan?
Cambia el modo de envío a HEX y escribe 01 03 00 0A, 0x01,0x03 o 0103000A, en mayúsculas o minúsculas. Los caracteres no válidos, como G, y las cantidades impares de dígitos se señalan, nunca se omiten, y los bytes que se van a escribir aparecen en vista previa bajo la entrada.
¿Cómo añado un CRC de Modbus y por qué va primero el byte bajo?
Pon Añadir suma de verificación en CRC-16/MODBUS y escribe solo la dirección, el código de función y los datos; el CRC se añade al final. Modbus RTU envía el CRC con el byte bajo primero: 0xCDC5 sale como C5 CD.
¿Por qué una trama se parte en dos líneas o varias tramas se juntan en una?
La vista HEX separa las tramas según el tiempo de silencio entre llegadas, 50 ms por defecto. Si el dispositivo hace una pausa más larga en mitad de una trama, la trama se parte; si las tramas llegan más seguidas, se juntan. Ajusta el intervalo de trama por encima de la pausa dentro de la trama y por debajo del hueco entre tramas.
¿Qué son DTR y RTS, y por qué se reinició mi placa al conectar?
DTR y RTS son dos líneas de control serie que muchas placas conectan a su circuito de reinicio. Cuando Chrome abre un puerto pone ambas líneas en activo — un detalle de implementación, no parte del estándar —, así que las placas que se reinician con DTR, como el Arduino Uno, suelen reiniciarse una vez al conectar, y una página web no puede evitarlo. En el circuito de autoprogramación habitual del ESP32, el chip funciona con normalidad mientras ambas líneas están activas y solo se mantiene en reset cuando RTS está activo y DTR no. Usa los interruptores después de conectar; si un ESP32 se queda en silencio, comprueba que no hayas desactivado solo DTR.
¿Puedo abrir el mismo puerto en otra herramienta serie a la vez?
En Windows, no: un puerto COM solo puede estar abierto en un programa a la vez. En Linux y macOS depende de si el primer programa pidió acceso exclusivo. Si lo pidió, abrir el puerto aquí falla; si no, ambos programas lo abren y se reparten los datos entrantes, lo que parece una pérdida de bytes. Usa un programa cada vez.
¿Se admiten velocidades en baudios personalizadas?
Sí. La última opción de la lista es Personalizada, donde puedes escribir cualquier velocidad, por ejemplo 74880, la velocidad a la que imprime la ROM de arranque del ESP8266. El navegador pasa el valor tal cual; que funcione depende del chip USB-serie y de su driver. Algunos lo redondean a la velocidad admitida más cercana y, en algunos sistemas, el puerto entonces no se abre.
¿Qué es el dispositivo demo?
Un microcontrolador simulado integrado en la página, para no necesitar hardware. Al conectar imprime un mensaje de arranque en GBK — una demostración lista del aviso de codificación — y luego informa de una temperatura cada 2 segundos. Responde OK a AT y ERROR a los demás comandos AT. Responde a una lectura Modbus de función 03 dirigida al esclavo 1 con un CRC correcto; como un esclavo real, se queda callado si el CRC es incorrecto o si la trama va a otra dirección. Todo lo demás lo devuelve en eco.

Herramientas relacionadas

Ver todas las herramientas →