Mongoose Library usage

Embedded Web Server for electronic devices

Meet Mongoose - an open source embedded HTTP/Websocket/MQTT library for C/C++

Trusted by the world’s leading brands

Siemens logo
Bosch logo
Pilz logo
Google logo
Schneider Electric logo
Samsung logo
Caterpillar logo
Broadcom Logo
Years on market
18 years on the market
Mongoose customers
5K+ integrations
In production
100M+ devices deployed
Integrated in devices
Trusted by NASA
Most popular on Github
9K+ Github stars
Learn from customers who already integrated Mongoose
into software, machinery, devices, appliances and more

Web UI Interface

Mongoose turns a software product, a device or appliance into a web server, accessible by a browser


Device control panel

One of the most common use cases is to use Mongoose to add a Web-accessible control panel for a device


Login screen, file uploads and more

Ready-to-go examples and tutorials for common functionalities like authentication, live logs, video streaming

Web GUI Image
Rest API

Remote control

Using Mongoose, it is easy to create various API to control your device or application remotely - via browser, mobile phone, or automation tools



We have created an extremely memory efficient, easy to use, MIT-licensed JSON library to use together with Mongoose


Real-time two-way communication

Real-time, full duplex communication over MQTT or Websocket. Exhange plain data, or wrap data into JSON to use JSON-RPC!

Telemetry data reporting

Mongoose implements MQTT - a standard IoT protocol which makes it easy to report telemetry data, and control devices remotely


Talk to AWS IoT, Azure, Google IoT

Upload device data to a cloud server of your choice. Use a 3rd party cloud provider, or spin your own


Live data streams

Implement real-time data upload using industry standard protocols like MQTT and Websocket


Over-the-Air updates

For any connected product, a reliable OTA is key


Efficient file uploads

On devices with very little memory, Mongoose can save large firmware files easily


Push or pull

Update devices automatically by periodic pull / version check, or by an explicit push