El broker MQTT gratis para pruebas adecuado depende de lo que estés probando. Para una primera comprobación de «¿mi código conecta?», un endpoint compartido como broker.connectmq.com o un sandbox público funciona en segundos y sin registro. Para tests automatizados, ejecuta un broker en local o en CI. Para todo lo que implique credenciales, ACL o carga realista, usa un broker privado: existen planes gratuitos, y una instancia gestionada privada es el paso siguiente.
Esta guía agrupa las opciones por tipo, explica en qué es buena y mala cada una y te da una comprobación de un minuto para cada caso.
Cuatro tipos de brokers de prueba gratuitos
| Tipo | Ejemplos | Registro | Aislamiento | Ideal para |
|---|---|---|---|---|
| Endpoint compartido de un servicio gestionado | broker.connectmq.com | No | Compartido | Comprobaciones rápidas de conectividad y código |
| Sandbox público comunitario | test.mosquitto.org, broker.hivemq.com, broker.emqx.io | No | Compartido, anónimo | Demos, tutoriales, experimentos con el protocolo |
| Plan gratuito de un servicio gestionado | HiveMQ Cloud, EMQX Serverless y otros | Sí | Privado | Pruebas de auth, TLS y ACL con poco tráfico |
| Local / autoalojado | Mosquitto, EMQX, NanoMQ en Docker | No | Totalmente tuyo | Tests unitarios, de integración y CI |
Ninguno es «el mejor». Un proyecto típico usa dos o tres: un endpoint compartido mientras escribes las primeras líneas, un broker local en CI y un broker privado antes de salir a producción.
1. Endpoints compartidos y sandboxes públicos
Solo necesitan un hostname. Son la forma más rápida de responder a «¿está bien mi código de cliente?».
Endpoint compartido de ConnectMQ
broker.connectmq.com es el endpoint compartido de ConnectMQ, un broker MQTT gestionado, pensado para pruebas rápidas. Habla MQTT 3.1.1 y MQTT 5 en los puertos habituales:
| Transporte | Puerto | URL |
|---|---|---|
| TCP | 1883 | mqtt://broker.connectmq.com:1883 |
| TLS | 8883 | mqtts://broker.connectmq.com:8883 |
| WebSocket | 8083 | ws://broker.connectmq.com:8083/mqtt |
| WebSocket seguro | 8084 | wss://broker.connectmq.com:8084/mqtt |
Como es el mismo servicio que ejecuta las instancias privadas, el código que pruebas aquí — incluida la configuración de TLS y WebSocket — es el mismo que después apuntarás a tu propio broker cambiando solo el hostname y las credenciales.
Brokers públicos comunitarios
- test.mosquitto.org — gestionado por el proyecto Eclipse Mosquitto. Ofrece puertos sin cifrar, TLS y WebSocket, además de puertos para probar certificados de cliente y autenticación; la web los enumera todos. Es explícitamente un servidor de pruebas y puede ir lento o reiniciarse.
- broker.hivemq.com — el broker público de HiveMQ, con TCP en el 1883 y WebSockets. Práctico para demos en el navegador.
- broker.emqx.io — el broker público de EMQX, con puertos TCP, TLS, WebSocket y WebSocket seguro.
Todos son compartidos y anónimos: cualquier usuario puede leer lo que publicas si adivina tu topic o se suscribe con un comodín. La disponibilidad y los límites dependen de sus operadores y pueden cambiar sin aviso. Para ver cómo se comportan lado a lado, consulta la comparativa de brokers MQTT públicos.
Comprobación de un minuto
mosquitto_sub -h broker.connectmq.com -p 1883 -t 'testmqtt/free-test/#' -vmosquitto_pub -h broker.connectmq.com -p 1883 -t 'testmqtt/free-test/hello' -m 'it works'Si el suscriptor imprime testmqtt/free-test/hello it works, tu ruta de red, el puerto y tus herramientas de cliente están bien. Cambia el hostname para probar cualquier otro broker público. ¿No tienes un terminal a mano? Usa el cliente MQTT online: se conecta por WebSockets seguros directamente desde el navegador.
Prueba un broker gratis en tu navegador
2. Planes gratuitos de servicios gestionados
Varios servicios MQTT gestionados ofrecen un plan gratuito o una cuota gratis: te registras y obtienes un broker privado con tus propias credenciales y TLS. HiveMQ Cloud y EMQX Serverless son ejemplos conocidos; hay otros, y los detalles (límite de conexiones, cuotas de mensajes, si piden tarjeta) varían según el proveedor y cambian con el tiempo, así que lee las condiciones actuales en la web de cada uno.
Los planes gratuitos sirven para:
- probar la autenticación con usuario y contraseña y los permisos por topic,
- probar TLS con una cadena de certificados real,
- un prototipo pequeño o un proyecto doméstico con pocos dispositivos.
Encajan peor en pruebas de carga (las cuotas se agotan rápido) y en cualquier caso que requiera garantías. Cuando el prototipo se convierte en producto, el paso habitual es un plan de pago o una instancia privada en el mismo servicio, lo que mantiene idéntica la configuración del cliente.
3. Brokers locales en Docker o CI
Para tests automatizados, un broker que arrancas tú mismo supera a cualquier opción alojada: está aislado, no tiene cuotas, funciona sin conexión y se elimina al terminar.
cat > mosquitto.conf <<'EOF'
listener 1883
allow_anonymous true
EOF
docker run --rm -p 1883:1883 -v "$PWD/mosquitto.conf:/mosquitto/config/mosquitto.conf" eclipse-mosquitto:2Mosquitto 2 solo escucha en localhost y rechaza clientes anónimos salvo que configures un listener; por eso hace falta esa configuración de dos líneas. Genera una más completa con el generador de mosquitto.conf, o arranca el broker desde tu código de test con Testcontainers.
Los brokers locales tienen un punto ciego: no muestran lo que ocurre en una ruta real por internet — timeouts de NAT, TLS desde un dispositivo, proxies en una red corporativa. Combínalos con al menos una prueba contra un broker remoto.
¿Cuál deberías usar?
| Quieres… | Usa |
|---|---|
| Comprobar que una nueva librería de cliente conecta y publica | Endpoint compartido o sandbox público |
| Enseñar una demo en el navegador por WebSockets | Endpoint compartido o sandbox público con puerto wss |
| Ejecutar tests unitarios y de integración en CI | Broker local en Docker / Testcontainers |
| Probar login, ACL y certificados TLS | Broker gestionado gratuito o privado, o Mosquitto local con archivos de auth |
| Pruebas de carga o soak | Un broker privado que controles, nunca uno público |
| Probar desde un dispositivo real en campo | Un broker remoto accesible desde la red del dispositivo |
Si la pregunta de fondo es «¿público o privado?», brokers MQTT públicos vs privados profundiza más, y el directorio de brokers recoge opciones alojadas y autoalojadas con sus protocolos y puertos.
Errores que debes evitar
- Topics genéricos.
test/topicen un broker público te mostrará mensajes de desconocidos y confundirá tu prueba. Usa siempre un prefijo único. - Client IDs fijos. Si dos desarrolladores ejecutan el mismo ejemplo con
client_id="test", el broker desconecta a uno cuando conecta el otro. Usa el generador de client ID o añade un sufijo aleatorio. - Dar por hecho el estado retenido. Otros usuarios pueden sobrescribir o borrar mensajes retenidos en brokers compartidos. No dependas de ellos entre ejecuciones.
- Hacer benchmarks en un sandbox. Los resultados reflejan el tráfico de todos los demás, y las pruebas intensas pueden hacer que te limiten o bloqueen.
- Salir a producción con el host de pruebas. Pon la URL del broker en la configuración, no en el código, para que pasar del broker de pruebas a producción sea un cambio de configuración.
Los brokers gratuitos eliminan la fricción de la primera hora de desarrollo con MQTT. Usa un endpoint compartido o un sandbox público para demostrar que tu código funciona, un broker local para que los tests sean rápidos y fiables, y un broker privado en cuanto entren en juego credenciales, permisos o tráfico real.
Preguntas frecuentes
¿Es seguro usar un broker MQTT público para pruebas?
Para datos de prueba desechables, sí. En un broker público normalmente cualquiera puede suscribirse a cualquier topic, incluido '#', así que nunca envíes credenciales, datos personales ni nada que controle hardware real. Usa nombres de topic únicos para no chocar con otros usuarios.
¿Cuál es el mejor broker MQTT gratis para pipelines de CI?
Un broker arrancado dentro del pipeline, como Mosquitto en un service container de Docker o con Testcontainers. Está aislado, arranca en segundos, no tiene límites de tasa y no depende de que un servicio externo esté disponible.
¿Puedo probar autenticación y ACL en un broker público?
Normalmente no de forma útil. Los sandboxes públicos suelen ser anónimos y no permiten definir usuarios ni permisos por topic. Usa un broker privado: un plan gratuito gestionado, un broker gestionado privado o un Mosquitto local con archivo de contraseñas y archivo de ACL.

