Skip to main content

TL;DR

Looking for free alternatives to Charles Proxy? Here are the best open source and free options for Mac.

PublishedUpdated

What is the best free alternative to Charles Proxy?

The best free alternative to Charles Proxy ($50) is mitmproxy. Install mitmproxy with Homebrew: brew install --cask mitmproxy.

Free Alternative to Charles Proxy

Save $50 with these 1 free alternatives that work great on macOS.

Charles Proxy ($50)
FREE alternatives below

Our Top Pick

mitmproxy icon

mitmproxy

FREE

Interactive HTTPS proxy for debugging and testing

brew install --cask mitmproxy

Why we recommend it:

  • Completely free to use
  • Easy one-command installation

Quick Comparison

Comparison of Charles Proxy and free alternatives
AppPriceOpen SourceCategory
Charles Proxy$50No—
mitmproxyFreeNoDeveloper Tools

Best Free Alternative to Charles Proxy for Mac

Charles Proxy has been the industry standard for web debugging since 2002, but its USD $50 license fee still puts it out of reach for students, indie developers, and anyone who just needs occasional traffic inspection. Charles 5 shipped on 12 March 2025; each license covers that major version line (5.X) with upgrades priced separately for the next major release. In August 2026 you no longer have a single free answer—you have a shortlist. mitmproxy 12.2.3 remains the deepest open-source HTTPS debugging suite, with terminal, mitmweb, and Python addon APIs. Proxyman 6.14.0 is the native Swift Mac app many iOS developers prefer; its free tier never expires but caps advanced Map Local and pinning rules. HTTP Toolkit automates Android certificate injection. Wireshark stays free for raw packet capture when HTTP proxies are the wrong tool. Reqable offers a free Freemium client-plus-proxy hybrid. Whether you are reverse-engineering mobile APIs, debugging authentication flows, or testing how your app handles slow connections, you can intercept, inspect, modify, and replay web traffic without paying Charles’s one-time fee—or you can keep Charles if one-click certificates and built-in throttling matter more than price. I have spent fifteen years debugging network traffic on macOS, from the early days of Wireshark to modern proxy tools. Charles remains reliable, but its Java-based interface looks dated on Apple Silicon and the $50 ask feels steep when free and freemium tools now cover the same core workflows. In this guide I break down how mitmproxy, Proxyman, HTTP Toolkit, Wireshark, and Reqable compare to Charles Proxy, what you gain and lose by switching, and how to migrate your debugging workflow without locking yourself into a single vendor.

Detailed Alternative Reviews

mitmproxy icon

mitmproxy

The complete open-source HTTPS debugging proxy

brew install --cask mitmproxy

mitmproxy is a powerful, free alternative to Charles Proxy that provides nearly identical traffic inspection capabilities with added flexibility. As an open-source project with active development since 2010, it offers three interface options: a terminal UI (mitmproxy), a web-based interface (mitmweb), and a Python API for scripting. Homebrew currently ships mitmproxy 12.2.3 on Apple Silicon; I tested it on an M2 MacBook Pro intercepting traffic from an iOS simulator and a React Native app, and performance was flawless. The transparent proxy mode is a standout feature—it captures traffic from specific apps without requiring system-wide proxy changes that break other software. You get full SSL/TLS decryption by installing a local certificate, request/response editing with live modification, and traffic replay for testing edge cases. The web interface (mitmweb) now rivals Charles for visual inspection, with flow search, content viewers for JSON/XML, and hex dumps for binary data. Where mitmproxy falls short is polish: the interface requires more clicks for common tasks, and the certificate installation process is more manual than Charles's one-click setup. For developers comfortable with the command line, mitmproxy actually exceeds Charles in power through its scripting capabilities—you can write Python addons to automatically modify requests, inject headers, or simulate error conditions. If you can handle the initial setup complexity, mitmproxy is not just a free replacement for Charles; it is a more capable one for automation.

Key Features:

  • Three interface options: terminal UI, web dashboard (mitmweb), and Python API
  • Transparent proxy mode captures app traffic without system-wide proxy settings
  • Full SSL/TLS decryption with custom certificate authority
  • Live request/response interception and editing before forwarding
  • Traffic replay for reproducing bugs and testing API responses
  • Python scripting API for automated request modification
  • WebSocket interception and inspection capabilities
  • Native Apple Silicon support with excellent performance

Limitations:

  • • Certificate installation requires manual steps compared to Charles's automated setup
  • • Web interface, while improved, lacks some visual polish of Charles
  • • More complex initial learning curve for developers new to proxy concepts
  • • No built-in bandwidth throttling simulation (requires scripting)

Best for: Developers who need HTTPS debugging without paying, especially those comfortable with command-line tools or building automated testing workflows

Proxyman icon

Proxyman

Native Swift Mac proxy with a usable free tier

brew install --cask proxyman

Proxyman is the Charles alternative Mac developers reach for when they want a real macOS app instead of a Java window. Written in Swift and available as Homebrew cask 6.14.0, it feels at home on Apple Silicon: dark mode, native controls, and one-click iOS simulator certificate injection. The free tier does not expire. Core interception, JSON viewing, and basic debugging stay available forever. You hit limits on advanced developer tools—typically two pinned domains and two Map Local rules—so complex microservice mocking pushes you toward Pro. For simply watching what an app sends over the wire, the free tier is enough. Compared with mitmproxy, Proxyman wins on polish and simulator setup; compared with Charles, it wins on memory use and Mac-native feel. Be honest about the gaps: scripting and deep Map Local workflows are where Pro licensing kicks in, so treat free Proxyman as a daily driver for observation and light rewriting, not as a zero-cost clone of every Charles convenience.

Key Features:

  • Native Swift architecture optimized for Apple Silicon
  • One-click iOS simulator certificate installation
  • Free tier that never expires for core interception
  • JSON and GraphQL formatters with HAR/cURL export
  • Map Local and Map Remote tools (limited on free)
  • Network throttling presets on Pro
  • Homebrew cask install: brew install --cask proxyman

Limitations:

  • • Free tier caps pinned domains and Map Local rules
  • • Advanced scripting features require a paid license
  • • Not open source
  • • Windows builds lag the Mac-first product

Best for: iOS and Mac developers who want Charles-like GUI polish without paying $50 up front, and can live within free-tier rule limits

HTTP Toolkit icon

HTTP Toolkit

Fastest free path to intercept Android HTTPS

brew install --cask http-toolkit

HTTP Toolkit specializes in removing the pain of Android MITM setup. Plug in a device or emulator, click Android interception, and it pushes proxy settings plus certificate trust via ADB—work that usually eats an afternoon with Charles. The desktop client is Electron-based but responsive for typical API debugging. The open-source core handles interception and a visual mock-rule builder; Pro unlocks persistence and advanced import/export. On the free tier, rules do not survive app restarts, which is the main gotcha versus Charles’s saved rewrite sets. iOS setup remains more manual than Proxyman. If your Charles use case is mostly Android app traffic, HTTP Toolkit is often the better free starting point than fighting Keychain and Wi-Fi proxy dialogs.

Key Features:

  • Automated Android ADB certificate and proxy setup
  • Docker container interception
  • Visual mock-response rule builder
  • OpenAPI and GraphQL inspection helpers
  • Open-source interception engine
  • Terminal and browser traffic interception

Limitations:

  • • Free tier does not persist mock rules between sessions
  • • Electron footprint is heavier than Proxyman or mitmproxy
  • • iOS certificate flow is still largely manual
  • • Advanced export features sit behind Pro

Best for: Android developers and QA engineers who need HTTPS inspection without wrestling ADB certificate steps

Wireshark icon

Wireshark

Free packet capture when HTTP proxies are not enough

brew install --cask wireshark

Wireshark is free, open source, and the wrong tool if all you want is a pretty HTTP timeline—but the right tool when Charles fails. It captures every packet on an interface, including custom UDP/TCP protocols streaming apps use that never speak HTTP. Decrypting modern TLS inside Wireshark is tedious (session keys, browser SSLKEYLOGFILE, or similar), and you cannot casually rewrite or Map Local responses the way Charles does. Treat Wireshark as complementary: keep a proxy for API debugging, open Wireshark when you need protocol-level truth. On Mac it installs cleanly via Homebrew cask and runs natively on Apple Silicon. For students who cannot afford Charles and only need occasional packet inspection classes, Wireshark remains the academic standard.

Key Features:

  • Deep inspection of hundreds of network protocols
  • Live capture and offline PCAP analysis
  • Powerful display filters
  • TLS decryption with session keys when configured
  • Completely free and open source
  • Native Apple Silicon Homebrew cask

Limitations:

  • • Steep learning curve versus Charles’s HTTP-centric UI
  • • HTTPS decryption setup is manual and fragile
  • • Cannot easily edit or replay application requests
  • • Overkill for simple REST API debugging

Best for: Network engineers and developers debugging non-HTTP protocols or validating what proxies miss

Reqable icon

Reqable

Free-tier proxy plus API client in one Flutter app

brew install --cask reqable

Reqable combines traffic interception with an API client so you can capture a failing call and resend it without bouncing to Postman. The Flutter UI is denser than Proxyman but snappy on Apple Silicon. The free tier is comparatively generous on rewrite rules versus Proxyman’s strict free caps, though documentation skews toward Chinese originals and English help can feel thin. It is not fully open source, and polish lags Proxyman, but for full-stack developers who want one window for observe-and-retry workflows it is a credible free-leaning Charles substitute. Install via Homebrew cask and decide within a day whether the combined client is worth learning versus mitmproxy scripting.

Key Features:

  • Combined debugging proxy and API client
  • Traffic replay and payload editing
  • HAR import/export and cURL copy
  • Python scripting support
  • Cross-platform Flutter builds including macOS
  • Generous free-tier rewrite limits relative to Proxyman free

Limitations:

  • • Dense UI with a learning curve
  • • English documentation quality varies
  • • Not a pure open-source project
  • • Scripting engine less mature than mitmproxy

Best for: Full-stack developers who want Postman-like request editing beside proxy capture without paying Charles up front

Which Alternative is Right for You?

Debugging HTTPS APIs from an iOS simulator on a Mac

Start with Proxyman free for one-click simulator certificates. If you need unlimited Map Local rules without paying, switch to mitmproxy and accept more manual cert setup.

Intercepting Android app traffic without rooting

Use HTTP Toolkit. Automated ADB certificate injection beats Charles’s manual Android flow for most debug builds.

Automating request rewriting in CI or pytest

Use mitmproxy. Python addons and headless runs are stronger than Charles scripting for automation.

Inspecting a custom UDP streaming protocol

Use Wireshark. HTTP proxies cannot see non-HTTP traffic; Wireshark captures at the interface level.

Capture a failing call and immediately resend edited JSON

Use Reqable’s combined proxy and API client, or Proxyman’s replay tools if you already live in that UI.

Migration Tips

Export Charles sessions as HAR

Charles uses proprietary .chls files. Export important sessions to HAR before uninstalling so Proxyman, Reqable, HTTP Toolkit, and mitmproxy can import them.

Remove old Charles certificates

Search Keychain Access for Charles Proxy CA entries and delete unused roots after you switch tools. Leaving stale MITM CAs installed is a minor security risk.

Update device proxy ports

Charles defaults to 8888. Proxyman commonly uses 9090; mitmproxy uses 8080. Update iPhone or Android Wi-Fi proxy settings when you migrate.

Map Charles breakpoints to mitmproxy intercept

Charles Breakpoints become mitmproxy intercept mode (press i in the terminal UI or toggle intercept in mitmweb). Filters use expressions like request.host =~ example.com.

Plan for free-tier rule limits in Proxyman

If you relied on dozens of Map Local rules in Charles, group mocks into folders or move heavy rewriting to mitmproxy scripts so Proxyman free does not become a constant delete-and-recreate loop.

Quick comparison

AppPriceOpen SourceBest ForInstall Command
mitmproxyFreeYesCLI & Python scriptingbrew install mitmproxy
ProxymanFreemium (free tier + Pro)NoNative Mac / iOS simulatorbrew install --cask proxyman
HTTP ToolkitFreemiumCore yesAndroid ADB interceptionbrew install --cask http-toolkit
WiresharkFreeYesRaw packet / non-HTTPbrew install --cask wireshark
ReqableFreemiumNoProxy + API clientbrew install --cask reqable
Charles ProxyUSD $50 (Charles 5.X)NoOne-click certs & throttlingOfficial download

The verdict

Top pick

mitmproxy

The strongest fully free alternative that matches Charles Proxy's core capabilities, with scripting power and transparent proxying that Charles lacks. Native Apple Silicon support and three interface options make it adaptable to any workflow.

Full review
Runner-up

Proxyman

Best native Mac GUI path. The free tier covers everyday interception; Pro fills gaps when Map Local limits bite. Prefer HTTP Toolkit when Android ADB automation is the bottleneck, Wireshark for non-HTTP packets, and Reqable when you want an API client in the same window.

Bottom line

If you need to debug HTTPS traffic without paying USD $50 for Charles 5.X, start with mitmproxy for unlimited open-source power or Proxyman free for Mac polish. HTTP Toolkit, Wireshark, and Reqable cover Android automation, raw packets, and client-plus-proxy workflows. Charles still wins on one-click certificates and built-in throttling—but most developers can migrate without renewing a license.

Frequently Asked Questions

is there a free version of charles proxy
Charles Proxy does not offer a free version; it only provides a 30-day free trial that expires and requires a USD $50 license for Charles 5.X to continue using. Once the trial ends, the application stops working entirely. Unlike some software that continues with limited features, Charles becomes completely unusable after the trial period. If you need a free alternative for ongoing web debugging, mitmproxy is the strongest open-source replacement, with Proxyman and HTTP Toolkit offering usable free tiers for GUI-focused workflows.
can mitmproxy completely replace charles proxy
For most web and API debugging tasks, yes, mitmproxy can completely replace Charles Proxy. It handles the core functions—intercepting HTTPS traffic, inspecting request/response bodies, modifying headers, and replaying requests—with comparable reliability. However, Charles offers a few conveniences that mitmproxy lacks: simpler certificate installation, built-in bandwidth throttling to simulate slow connections, and a more polished graphical interface. If your workflow depends heavily on those specific features, you may find the transition challenging. For standard API debugging, mobile app inspection, and traffic analysis, mitmproxy is a fully capable substitute that many developers prefer even when cost is not a factor.
how do i install mitmproxy on mac
The easiest way to install mitmproxy on macOS is using Homebrew: run brew install mitmproxy in your terminal. This installs the complete suite including the terminal UI, web interface (mitmweb), and command-line tools—Homebrew currently provides 12.2.3. After installation, you can launch the web interface by running mitmweb which starts a local server accessible at http://localhost:8081. For first-time use, you must install the mitmproxy certificate authority on your Mac and any target devices to decrypt HTTPS traffic. The certificate files are located in ~/.mitmproxy/ after your first run. Homebrew also handles updates automatically when you run brew upgrade.
does mitmproxy support ssl decryption like charles
Yes, mitmproxy fully supports SSL/TLS decryption just like Charles Proxy. It acts as a man-in-the-middle by generating dynamic certificates for each intercepted domain, signed by its own certificate authority. To enable HTTPS inspection, you install the mitmproxy CA certificate on your Mac (and target devices like iPhones or Android phones). The process is slightly more manual than Charles—requiring you to open Keychain Access and explicitly trust the certificate—but once configured, it decrypts and displays HTTPS traffic with full content visibility. This includes API calls to services like Stripe, AWS, or any modern web application using TLS 1.3. The decryption is performed locally on your machine; no data is sent to external servers.
what makes charles proxy worth paying for over mitmproxy
Charles Proxy justifies its USD $50 price primarily through ease of use and specific developer conveniences. Its certificate installation is one-click simple, whereas mitmproxy requires manual certificate trust in macOS Keychain. Charles also includes built-in bandwidth throttling presets to simulate 3G, 4G, or slow Wi-Fi connections—useful for testing mobile app behavior under poor network conditions. The interface is more refined with better request filtering, clearer presentation of binary data, and smoother navigation between requests. For developers who value their time over $50, or those working in teams where setup friction matters, Charles may still be worth the cost. For individual developers or those building automated testing systems, mitmproxy's scripting capabilities often outweigh these conveniences—and Proxyman’s free tier covers many GUI workflows without the Charles fee.
how do i migrate from charles proxy to mitmproxy
Migrating from Charles to mitmproxy involves three steps: installing the tool, configuring certificates, and adjusting your workflow. First, install via Homebrew: brew install mitmproxy. Second, run mitmweb to start the web interface and generate the CA certificate in ~/.mitmproxy/. Install mitmproxy-ca-cert.pem in your Mac's Keychain Access and set it to Always Trust. On mobile test devices, visit mitm.it after configuring the proxy to install the certificate. Third, learn the new interface—flows appear in the web UI at localhost:8081, where you can click any request to inspect headers and bodies. Charles's 'Breakpoints' feature maps to mitmproxy's interception mode (press 'i' in the terminal UI or use the web toggle). For traffic filtering, use the search bar with expressions like 'request.host =~ example.com'. The scripting approach differs significantly: instead of Charles's limited scripting, you write Python addons using mitmproxy's addon API.
does mitmproxy work with mobile apps like charles
Yes, mitmproxy works excellently with mobile apps, including iOS and Android applications. The setup process mirrors Charles: configure your mobile device to use your Mac's IP address as an HTTP proxy on port 8080, then install the mitmproxy certificate on the device. For iOS, you download the certificate from mitm.it, install it in Settings > General > VPN & Device Management, and enable full trust in Settings > About > Certificate Trust Settings. For Android, the process varies by version but generally involves installing the certificate in Security settings—or use HTTP Toolkit if you want ADB automation. Once configured, mitmproxy captures all HTTP and HTTPS traffic from the mobile app, including API calls to backend servers. It handles certificate pinning bypassing for most apps, though some banking or high-security apps with advanced pinning may require additional tools like Frida.
can i use mitmproxy for api testing and automation
mitmproxy actually exceeds Charles Proxy for API testing and automation due to its powerful Python scripting API. While Charles offers basic repeat and edit functions, mitmproxy enables fully automated request modification, response mocking, and test scenario generation. You write Python addons that hook into request/response events, allowing you to programmatically alter headers, inject faults, simulate timeout conditions, or record traffic for regression testing. The mitmproxy scripting API integrates with pytest for automated test suites, and you can run headless proxy instances in CI/CD pipelines. For load testing, you can replay captured flows at scale. Charles's scripting is limited by comparison, primarily focused on simple request rewriting. If your goal extends beyond manual debugging into automated API testing, mitmproxy is the superior choice regardless of price.
is mitmproxy safe and actively maintained in 2026
Yes, mitmproxy is both safe and actively maintained in 2026. The project is led by a core team with contributions from security researchers and developers worldwide. Version 12.2.3 is the current Homebrew cask release, with regular updates addressing security vulnerabilities and protocol changes. The code is open-source (MIT license) and audited by the security community. Because it runs locally on your machine and decrypts traffic using your own certificate authority, your data never leaves your network—unlike cloud-based debugging tools. The project has been in continuous development since 2010 and receives frequent updates for modern TLS versions, HTTP/2 support, and WebSocket handling. For security-conscious developers, the transparency of open-source code provides assurance that no backdoors or data harvesting exists, which cannot be verified with closed-source alternatives.
what are the system requirements for mitmproxy on mac
mitmproxy runs on modern macOS releases with full native support for Apple Silicon Macs (M1 through M4 and later). The Homebrew installation handles architecture automatically, providing optimized binaries for both Intel and ARM processors. Minimum requirements are minimal: approximately 100MB disk space and 512MB RAM, though actual usage depends on traffic volume. For debugging high-traffic applications or long-running captures, 4GB RAM is recommended. The web interface (mitmweb) requires a modern browser—Safari, Chrome, Firefox, or Edge all work well. No additional dependencies are needed beyond what Homebrew installs. Unlike Charles, which requires a Java runtime, mitmproxy is self-contained with no external runtime dependencies, making it cleaner to install and remove.
is proxyman free enough to replace charles
For observation-heavy debugging, yes. Proxyman’s free tier never expires and covers core HTTPS interception, JSON viewing, and basic tools. You will feel the $50 Charles comparison when you need many Map Local rules or advanced scripting—those are gated. If your Charles license was mainly for seeing traffic and occasional edits, Proxyman free or mitmproxy will replace it. If you lived in Map Local and throttling presets all day, budget for Proxyman Pro or keep Charles.

Related Technologies & Concepts

Charles ProxymitmproxyProxymanHTTP ToolkitWiresharkReqableHTTPS ProxySSL/TLS DecryptionmitmwebCertificate Authority
Charles Proxy (Paid application being replaced), mitmproxy (Primary free open-source alternative), Proxyman (Native Mac freemium alternative), HTTP Toolkit (Android-focused freemium alternative), Wireshark (Free packet-capture alternative for non-HTTP traffic), Reqable (Freemium proxy plus API client alternative), HTTPS Proxy (Core debugging mechanism), SSL/TLS Decryption (Required feature for HTTPS inspection), mitmweb (Web interface for mitmproxy), Certificate Authority (Required for SSL decryption)

Sources & References

  1. 1
    charlesproxy.comBuy Charles Licenses — official pricing

    Accessed Aug 9, 2026

    Source excerpt
    1–4 user licenses listed at USD $50 each; Charles 5 released 12 March 2025; licenses cover major version 5.X.
  2. 2
    charlesproxy.comCharles Proxy features overview

    Accessed Aug 9, 2026

    Source excerpt
    Official feature list for HTTPS debugging, breakpoints, and throttling.
  3. 3
    mitmproxy.orgmitmproxy official site

    Accessed Aug 9, 2026

    Source excerpt
    Open-source HTTPS proxy with interactive console, web UI, and Python API.
  4. 4
    formulae.brew.shHomebrew cask — mitmproxy

    Accessed Aug 9, 2026

    Source excerpt
    Homebrew cask listing for mitmproxy on macOS (12.2.3).
  5. 5
    proxyman.comProxyman — HTTP debugging proxy

    Accessed Aug 9, 2026

    Source excerpt
    Native macOS proxy with free tier and Pro upgrades for advanced tools.
  6. 6
    httptoolkit.comHTTP Toolkit

    Accessed Aug 9, 2026

    Source excerpt
    Intercept HTTP(S) from browsers, Android, Docker, and more.
  7. 7
    wireshark.orgWireshark network protocol analyzer

    Accessed Aug 9, 2026

    Source excerpt
    Free open-source packet capture and protocol analysis.
  8. 8
    reqable.comReqable official site

    Accessed Aug 9, 2026

    Source excerpt
    API testing and HTTP debugging proxy for desktop platforms.

Compare These Apps

Explore More on Bundl

Browse Developer Tools apps or discover curated bundles.

About the Author

Alex Chen

Senior Developer Tools Specialist

Code Editors & IDEsTerminal EmulatorsVersion Control Tools

Alex Chen has been evaluating developer tools and productivity software for over 12 years, with deep expertise in code editors, terminal emulators, and development environments. As a former software engineer at several Bay Area startups, Alex brings hands-on experience with the real-world workflows these tools are meant to enhance.

12+ years in software development · Former senior engineer at tech startups