awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
mqttjs avatar

mqttjs/MQTT.js

0
View on GitHub↗
9,033 stars·1,441 forks·TypeScript·other·21 views

MQTT.js

MQTT.js is a JavaScript client library and asynchronous messaging client used to connect to message brokers and exchange data via the MQTT protocol. It provides a broker interface for publishing and subscribing to topics, and includes a command-line interface for interacting with brokers without writing code.

The library supports multiple network layers, including TCP, TLS, and WebSockets, and allows for custom WebSocket construction and transport injection to handle specific headers or subprotocols. It implements bandwidth reduction through topic aliasing, which replaces repetitive topic strings with numeric identifiers.

The project covers connection management through automatic reconnection, keepalive heartbeats, and credential refreshing. It manages message reliability using pluggable in-flight storage for unacknowledged messages and ensures secure data transfer via TLS encryption with SNI and ALPN extensions. Messaging capabilities include batched subscription requests and topic name validation.

Features

  • MQTT Clients - Implements a full-featured JavaScript library for connecting to MQTT brokers and exchanging data.
  • Message Broker Connectivity - Provides comprehensive mechanisms for establishing secure connectivity to MQTT message brokers via multiple network layers.
  • Wire Protocol Serializers - Provides wire protocol serializers that convert JavaScript objects into binary buffers according to MQTT specifications.
  • Heartbeat Monitors - Implements heartbeat monitors to track connection liveness and trigger automatic reconnections.
  • MQTT Messaging Integrations - Provides an integration layer for applications to exchange data with MQTT brokers via TCP, TLS, and WebSockets.
  • Asynchronous Messaging Clients - Provides a full-featured asynchronous client that handles reconnections, heartbeats, and in-flight message storage.
  • Publish-Subscribe Messaging - Implements the core publish-subscribe messaging pattern for exchanging data with MQTT brokers.
  • Connection Reconnection Policies - Implements configurable connection reconnection policies to automatically restore dropped network links.
  • Connection Keepalives - Maintains persistent network links using transport-level connection keepalives and heartbeats.
  • Topic Message Listeners - Allows clients to listen for and receive incoming data from specified MQTT topics.
  • Protocol-Agnostic Transport Layers - Provides a protocol-agnostic transport layer that abstracts TCP, TLS, and WebSockets into a common interface.
  • Pub-Sub Messaging - Enables lightweight pub-sub messaging for communication between IoT sensors and controllers.
  • In-Flight Message Storage - Offers pluggable storage backends to persist unacknowledged messages and maintain delivery guarantees during connection drops.
  • Command Line Interfaces - Ships a bundled command-line interface for publishing and subscribing to messages on remote brokers.
  • MQTT Command Line Tools - Includes a bundled command-line interface for publishing and subscribing to topics directly from the terminal.
  • Real-Time Data Streams - Supports real-time data streams by pushing live updates to multiple clients through topic-based subscriptions.
  • Topic Aliasing - Implements topic aliasing to reduce bandwidth by replacing long topic strings with numeric identifiers.
  • Credential Refreshers - Includes automated credential refreshers to update authentication tokens during the reconnection process.
  • Encrypted Connection Handlers - Ensures secure data transfer by managing TLS handshakes with SNI and ALPN extensions.
  • In-Flight Message Persistence - Persists messages not yet acknowledged by the broker using in-memory or external pluggable storage engines.
  • Machine Identity - Implements secure machine-to-machine messaging using TLS encryption and authentication tokens.
  • MQTT Libraries and Brokers - MQTT client for Node.js and browser environments.
  • Real Time Communication - MQTT client for Pub-sub messaging.

Star history

Star history chart for mqttjs/mqtt.jsStar history chart for mqttjs/mqtt.js

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with MQTT.js

These projects share indexed features with MQTT.js. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • ithewei/libhvithewei avatar

    ithewei/libhv

    7,521View on GitHub↗

    libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP, WebSocket, and MQTT clients and servers. It provides a non-blocking event loop for managing network sockets, timers, and system signals across multiple threads. The project is distinguished by its integrated support for specialized network roles, including a full HTTP web server with RESTful routing and middleware, an MQTT messaging client for IoT communication, and the ability to implement SOCKS5 and HTTP proxies. It also features a reliable UDP implementation to ensure ordered

    Ccurlepollhttp-client
    View on GitHub↗7,521
  • faye/fayefaye avatar

    faye/faye

    4,386View on GitHub↗

    Faye is a real-time messaging middleware and WebSocket publish-subscribe server. It functions as a communication layer that routes messages between clients and manages channel subscriptions to enable data synchronization across the web. The project provides a cross-domain communication gateway, allowing web clients on different domains to communicate with a central server. It is built as a clustered messaging backend that can share state across multiple instances using external storage to handle high volumes of persistent network connections. Its capability surface includes pub-sub logic for

    JavaScript
    View on GitHub↗4,386
  • facebookincubator/socketrocketfacebookincubator avatar

    facebookincubator/SocketRocket

    9,616View on GitHub↗

    SocketRocket is an Objective-C WebSocket client library designed to establish bidirectional real-time communication channels between an application and a server. It provides a networking layer for real-time data streaming, utilizing a heartbeat monitor to maintain the stability of active network streams. The library is built to operate across restricted networks by routing traffic through HTTP proxies. It secures data transmission using TLS encryption and SSL certificate pinning to prevent unauthorized interception of network traffic. Its underlying capabilities include low-level TCP socket

    Objective-C
    View on GitHub↗9,616
  • nats-io/nats-servernats-io avatar

    nats-io/nats-server

    20,076View on GitHub↗

    NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge computing, and distributed microservices. It functions as a distributed publish-subscribe broker that routes messages using hierarchical, dot-separated subject strings, enabling decoupled communication between services without requiring centralized broker lookups. The system supports core messaging patterns including asynchronous publish-subscribe, request-reply, and load-balanced queue processing. The platform distinguishes itself through a decentralized architecture that eliminates t

    Gocloudcloud-computingcloud-native
    View on GitHub↗20,076
Compare all 30 related projects→

Frequently asked questions

What does mqttjs/mqtt.js do?

MQTT.js is a JavaScript client library and asynchronous messaging client used to connect to message brokers and exchange data via the MQTT protocol. It provides a broker interface for publishing and subscribing to topics, and includes a command-line interface for interacting with brokers without writing code.

What are the main features of mqttjs/mqtt.js?

The main features of mqttjs/mqtt.js are: MQTT Clients, Message Broker Connectivity, Wire Protocol Serializers, Heartbeat Monitors, MQTT Messaging Integrations, Asynchronous Messaging Clients, Publish-Subscribe Messaging, Connection Reconnection Policies.

Which projects share features with mqttjs/mqtt.js?

Projects with overlapping indexed features include: ithewei/libhv — libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP,… faye/faye — Faye is a real-time messaging middleware and WebSocket publish-subscribe server. It functions as a communication layer… facebookincubator/socketrocket — SocketRocket is an Objective-C WebSocket client library designed to establish bidirectional real-time communication… nats-io/nats-server — NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge… socketcluster/socketcluster — Highly scalable realtime pub/sub and RPC framework. emqx/mqttx — MQTTX is a cross-platform MQTT client application designed for testing, debugging, and managing MQTT brokers. It…