A modern, standalone Flutter application for browsing and interacting with MQTT topic trees.
- MQTT Connection Management: Connect to MQTT brokers with advanced settings (TLS, authentication, keep-alive, etc.)
- Topic Tree Visualization: Interactive tree view of MQTT topics with expand/collapse functionality
- Real-time Data Display: View live MQTT messages in tabbed interface
- Publishing: Send MQTT messages with JSON support, QoS levels, and retain options
- Subscription Management: Auto-subscribe to topics on connect, manual subscribe/unsubscribe
- Saved Connections: Save and load connection presets with custom icons
- Charts & Analytics: Visualize numeric data with interactive charts
- Theme Support: Dark/light mode with customizable themes
- Data Export: Export topic tree data to JSON/CSV for analysis
-
Ensure you have Flutter installed: https://flutter.dev/docs/get-started/install
-
Clone the repository:
git clone https://github.com/your-repo/mqtt_browser.git cd mqtt_browser -
Install dependencies:
flutter pub get
-
Run the app:
flutter run
-
Build for your platform:
flutter build linux # or windows, macos, etc.
Download the latest release from the releases page.
- Launch the app
- On the setup page, enter your MQTT broker details (host, port)
- Configure advanced settings if needed (TLS, authentication, subscriptions)
- Click "Connect"
- Basic: Host, port, client ID
- Authentication: Username/password
- Security: TLS/SSL options
- Advanced: Keep-alive, connection timeout, clean session
- Subscriptions: Auto-subscribe topics with QoS levels
- Save connection presets for quick access
- Customize connection icons
- Edit/delete saved connections
- Browse MQTT topics in a hierarchical tree
- Expand/collapse nodes
- Open topics in tabs for detailed viewing
- Search topics
- Export tree data to JSON file
- Enter topic and payload (supports JSON)
- Set QoS level (0, 1, 2)
- Retain message option
- Send button
- View numeric data as line charts
- Interactive zooming and panning
- Multiple chart types supported
- Theme selection (dark/light)
- Tree view preferences
- Connection defaults
- Verify broker host and port
- Check network connectivity
- Ensure MQTT broker allows connections from your IP
- For TLS, verify certificates are properly configured
- Large topic trees may impact performance
- Use search to filter topics
- Close unused tabs
- "Connection refused": Check broker is running and accessible
- "Authentication failed": Verify username/password
- "TLS handshake failed": Check certificate configuration
- Flutter 3.0+
- Dart 3.0+
lib/backend/: MQTT connection logiclib/frontend/: UI components and pageslib/services/: Data persistence and settingslib/providers/: State management
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
Built with Flutter and MQTT5 client library.