There are several Free Alternatives to Charles Proxy you can use for intercepting and debugging HTTP/HTTPS traffic while developing your Flutter app.
Here are some good options:
1. mitmproxy (Free, Open Source)
- What it is: A powerful interactive HTTPS proxy with a terminal UI and scripting support in Python.
- Pros:
- Free & open-source
- Supports HTTP, HTTPS, WebSockets
- Can record, replay, and modify requests/responses
- Works cross-platform (macOS, Windows, Linux)
- Cons:
- Terminal-based by default (but has
mitmwebfor a web UI)
- Terminal-based by default (but has
- Website: https://mitmproxy.org
2. Fiddler Everywhere (Free tier available)
- What it is: GUI-based HTTP debugging proxy.
- Pros:
- Nice visual interface, easy learning curve
- Cross-platform (macOS, Windows, Linux)
- Can inspect, modify, and replay traffic
- Cons:
- Free tier has some limitations compared to Pro
- Website: https://www.telerik.com/fiddler
3. HTTP Toolkit (Free tier available)
- What it is: Open-source HTTP sniffer & interceptor.
- Pros:
- Modern UI
- Free plan is good enough for debugging
- Supports HTTPS with automatic certificate setup
- Cons:
- Some advanced features are paid
- Website: https://httptoolkit.com
4. Wireshark (Free, Open Source — more low-level)
- What it is: Packet analyzer (not just HTTP, but all network protocols).
- Pros:
- Free, extremely powerful
- Works at a very low level (good for diagnosing networking issues beyond HTTP)
- Cons:
- Not HTTP-focused, more complex to filter application traffic
- Website: https://www.wireshark.org
💡 Flutter-specific tips for using these tools:
- For HTTPS traffic, you’ll need to install the proxy’s root certificate on your Android/iOS device or emulator.
- On Android 7+, user-installed CA certificates aren’t trusted by default — you must add the certificate to your app’s network security config (
network_security_config.xml). - On iOS, you can install and trust the certificate via Settings → General → About → Certificate Trust Settings.
If you want the closest experience to Charles but free, I’d recommend starting with mitmproxy + mitmweb — it’s free, scriptable, and reliable for Flutter debugging.
