{"slug": "charles-proxy", "name": "Charles Proxy", "category": "networking", "category_name": "Networking and VPN", "description": "", "recommenders": 6, "commenters": 19, "warners": 4, "score": 3.599, "rising": -1.96, "first": "2025-11-06", "latest": "2026-01-02", "why": "Charles a model like Sublime Text: you buy it and get to keep the version forever", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 6, "neutral": 6, "compare": 3, "warn": 4}, "spark": [0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "Charles a model like Sublime Text: you buy it and get to keep the version forever", "kind": "", "icon": true, "domain": "charlesproxy.com", "github_repo": null, "official_url": "https://www.charlesproxy.com", "pricing": "", "aliases": ["Charles Proxy"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 741394674, "item_id": 46337167, "url": "https://news.ycombinator.com/item?id=46337167", "by": "Fnoord", "date": "2025-12-20", "version": null, "stance": "recommend", "quote": "Charles a model like Sublime Text: you buy it and get to keep the version forever", "excerpt": "mitmproxy isn't the gold standard; it is Burp Suite, sadly. Burp Suite uses a subscription model. Charles a model like Sublime Text: you buy it and get to keep the version forever, major upgrades available for a discount. I had to chuckle at this one: > If you purchased a Charles license prior to 1 May 2008 your existing license key is still valid for Charles 5. So I guess in past they used a model where you'd have l", "context": "", "use_case": "", "switched_from": "", "story": "Charles Proxy"}, {"id": 741360832, "item_id": 46335052, "url": "https://news.ycombinator.com/item?id=46335052", "by": "mavamaarten", "date": "2025-12-20", "version": null, "stance": "recommend", "quote": "it would be the absolute perfect tool", "excerpt": "If the devs behind Charles would just tweak their UI a bit, it would be the absolute perfect tool. Functionally it pretty much already is. Mainly being able to turn on and off and configuring features I use all the time (rewrite, map local, map remote) is always a journey through menu's that don't always make sense. The only functional thing I'm missing is some DNS stuff (e.g. throttling or breaking DNS specifically)", "context": "", "use_case": "HTTP debugging proxy", "switched_from": "", "story": "Charles Proxy"}, {"id": 741355072, "item_id": 46334692, "url": "https://news.ycombinator.com/item?id=46334692", "by": "punnerud", "date": "2025-12-20", "version": null, "stance": "recommend", "quote": "switched to Charles Proxy", "excerpt": "I was a daily user of mitmproxy, until they changed all they keybindings around version 2. Tried a couple of times to get used to the new \u201cTMUX\u201d style, but switched to Charles Proxy. Have mitmproxy gotten any better in usability over the years? Just based on the images, is seems to have the same problems?", "context": "", "use_case": "HTTP traffic inspection", "switched_from": "mitmproxy", "story": "Charles Proxy"}, {"id": 741346480, "item_id": 46334155, "url": "https://news.ycombinator.com/item?id=46334155", "by": "cientifico", "date": "2025-12-19", "version": null, "stance": "recommend", "quote": "Worth the money.", "excerpt": "One hidden gem. The closest free alternative is https://www.mitmproxy.org/ that is not even close. And off course, https://www.wireshark.org/ but that is too generic and with a bigger learning curve. Worth the money. And no subscription (or there weren't a subscription back then)", "context": "", "use_case": "", "switched_from": "", "story": "Charles Proxy"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 741416080, "item_id": 46338505, "url": "https://news.ycombinator.com/item?id=46338505", "by": "ollysb", "date": "2025-12-20", "version": null, "stance": "warn", "quote": "I used Charles for many years but proxyman's performance is a real step up.", "excerpt": "I used Charles for many years but proxyman's performance is a real step up.", "context": "", "use_case": "", "switched_from": "Charles Proxy", "story": "Charles Proxy"}, {"id": 741356225, "item_id": 46334764, "url": "https://news.ycombinator.com/item?id=46334764", "by": "OptionalDonuts", "date": "2025-12-20", "version": null, "stance": "warn", "quote": "We ran into some issues with Charles", "excerpt": "When I was still working with iOS, all of us on the team switched to Proxyman and found it much better than Charles. Developer experience wise that is (features, ui/ux, etc.) We ran into some issues with Charles and found Proxyman as the alternative. Don't remember the issues but we never looked back.", "context": "", "use_case": "", "switched_from": "", "story": "Charles Proxy"}, {"id": 741350832, "item_id": 46334427, "url": "https://news.ycombinator.com/item?id=46334427", "by": "itsn0tm3", "date": "2025-12-20", "version": null, "stance": "warn", "quote": "I used to face issues from time to time doing this with Charles", "excerpt": "It makes working with Xcode simulators even easier by having a dedicated UI workflow to install the proxy certificates and restart the sim. I used to face issues from time to time doing this with Charles having to restart my machine at times and not getting the certificates to work. Proxyman makes this way nicer to work with and since switching I never faced certificate issues again. Not trying to do an ad, but reall", "context": "", "use_case": "", "switched_from": "", "story": "Charles Proxy"}, {"id": 741349169, "item_id": 46334323, "url": "https://news.ycombinator.com/item?id=46334323", "by": "jshier", "date": "2025-12-19", "version": null, "stance": "warn", "quote": "It's a far better macOS app than Charles", "excerpt": "Yes, Proxyman has great sim integration, including the ability to filter by apps within the sim. It's a far better macOS app than Charles, and I've never found it to be lacking a feature I used in Charles.", "context": "", "use_case": "", "switched_from": "", "story": "Charles Proxy"}]}], "who": [], "tags": [], "use_cases": ["http debugging proxy", "http traffic inspection", "http traffic debugging", "http debugging", "http proxy / traffic inspection", "inspecting http requests"], "compared": [{"slug": "proxyman", "name": "Proxyman", "co": 7, "switched_from": 0, "switched_to": 3}, {"slug": "mitmproxy", "name": "mitmproxy", "co": 3, "switched_from": 1, "switched_to": 0}, {"slug": "chrome-devtools", "name": "Chrome DevTools", "co": 1, "switched_from": 0, "switched_to": 1}, {"slug": "burp-suite", "name": "Burp Suite", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "fiddler", "name": "Fiddler", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 741598640, "item_id": 46349915, "url": "https://news.ycombinator.com/item?id=46349915", "by": "Sytten", "date": "2025-12-21", "version": null, "stance": "neutral", "quote": "Agreed this is something we need to do, but not easy to do properly.", "excerpt": "Agreed this is something we need to do, but not easy to do properly. The TLS 1.3 spec has a lot of extensions, currently we use openssl that for example doesn't support GREASE.", "context": "", "use_case": "", "switched_from": "", "story": "Charles Proxy"}], "threads": [{"url": "https://news.ycombinator.com/item?id=46333983", "title": "Charles Proxy", "mentions": 18}, {"url": "https://news.ycombinator.com/item?id=46413256", "title": "If you care about security you might want to move the iPhone Camera app", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=45825733", "title": "Show HN: I scraped 3B Goodreads reviews to train a better recommendation model", "mentions": 1}], "sentiment_by_month": {"2025-11": {"neutral": 1}, "2025-12": {"recommend": 6, "neutral": 4, "compare": 3, "warn": 4}, "2026-01": {"neutral": 1}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 743480833, "item_id": 46467552, "url": "https://news.ycombinator.com/item?id=46467552", "by": "walterbell", "date": "2026-01-02", "version": null, "stance": "neutral", "quote": "after identification by Charles Proxy", "excerpt": "> bulldoze all of an app's endpoints https://support.1blocker.com/en/articles/9720640-how-to-enable-in-app-blocking Are those added manually for each app, after identification by Charles Proxy?", "context": "", "use_case": "", "switched_from": "", "story": "If you care about security you might want to move the iPhone Camera app"}, {"id": 741422737, "item_id": 46338921, "url": "https://news.ycombinator.com/item?id=46338921", "by": "leptons", "date": "2025-12-20", "version": null, "stance": "compare", "quote": "Fiddler is superior to Charles and always has been.", "excerpt": "Fiddler is superior to Charles and always has been. https://www.telerik.com/fiddler", "context": "", "use_case": "", "switched_from": "", "story": "Charles Proxy"}, {"id": 741416080, "item_id": 46338505, "url": "https://news.ycombinator.com/item?id=46338505", "by": "ollysb", "date": "2025-12-20", "version": null, "stance": "warn", "quote": "I used Charles for many years but proxyman's performance is a real step up.", "excerpt": "I used Charles for many years but proxyman's performance is a real step up.", "context": "", "use_case": "", "switched_from": "Charles Proxy", "story": "Charles Proxy"}, {"id": 741394674, "item_id": 46337167, "url": "https://news.ycombinator.com/item?id=46337167", "by": "Fnoord", "date": "2025-12-20", "version": null, "stance": "recommend", "quote": "Charles a model like Sublime Text: you buy it and get to keep the version forever", "excerpt": "mitmproxy isn't the gold standard; it is Burp Suite, sadly. Burp Suite uses a subscription model. Charles a model like Sublime Text: you buy it and get to keep the version forever, major upgrades available for a discount. I had to chuckle at this one: > If you purchased a Charles license prior to 1 May 2008 your existing license key is still valid for Charles 5. So I guess in past they used a model where you'd have l", "context": "", "use_case": "", "switched_from": "", "story": "Charles Proxy"}, {"id": 741372337, "item_id": 46335771, "url": "https://news.ycombinator.com/item?id=46335771", "by": "shelled", "date": "2025-12-20", "version": null, "stance": "compare", "quote": "I went back to Requestly, which I really found to be more straightforward or simpler to use", "excerpt": "At a previous workplace, Charles Proxy was not in the list of approved software. I don't recall the reason - it might have been cost, but we used lots of paid tools, and since it was in the restricted category, we couldn't pick and use (we handled a copious amount of Western PII, from reading, working on it, to storing it). Two were approved: Requestly and another was a link to an internal wiki with a really \"interes", "context": "", "use_case": "HTTP traffic debugging", "switched_from": "", "story": "Charles Proxy"}, {"id": 741367152, "item_id": 46335447, "url": "https://news.ycombinator.com/item?id=46335447", "by": "dhuan_", "date": "2025-12-20", "version": null, "stance": "recommend", "quote": "", "excerpt": "I\u2019ve found tools like Charles really useful for understanding what\u2019s happening on the wire. When I need something more repeatable (tests, offline work), I usually reach for a mock server instead. I ended up building a small one for my own use and later open-sourced it: https://dhuan.github.io/mock/latest/examples.html", "context": "", "use_case": "HTTP debugging", "switched_from": "", "story": "Charles Proxy"}, {"id": 741360832, "item_id": 46335052, "url": "https://news.ycombinator.com/item?id=46335052", "by": "mavamaarten", "date": "2025-12-20", "version": null, "stance": "recommend", "quote": "it would be the absolute perfect tool", "excerpt": "If the devs behind Charles would just tweak their UI a bit, it would be the absolute perfect tool. Functionally it pretty much already is. Mainly being able to turn on and off and configuring features I use all the time (rewrite, map local, map remote) is always a journey through menu's that don't always make sense. The only functional thing I'm missing is some DNS stuff (e.g. throttling or breaking DNS specifically)", "context": "", "use_case": "HTTP debugging proxy", "switched_from": "", "story": "Charles Proxy"}, {"id": 741356225, "item_id": 46334764, "url": "https://news.ycombinator.com/item?id=46334764", "by": "OptionalDonuts", "date": "2025-12-20", "version": null, "stance": "warn", "quote": "We ran into some issues with Charles", "excerpt": "When I was still working with iOS, all of us on the team switched to Proxyman and found it much better than Charles. Developer experience wise that is (features, ui/ux, etc.) We ran into some issues with Charles and found Proxyman as the alternative. Don't remember the issues but we never looked back.", "context": "", "use_case": "", "switched_from": "", "story": "Charles Proxy"}, {"id": 741355072, "item_id": 46334692, "url": "https://news.ycombinator.com/item?id=46334692", "by": "punnerud", "date": "2025-12-20", "version": null, "stance": "recommend", "quote": "switched to Charles Proxy", "excerpt": "I was a daily user of mitmproxy, until they changed all they keybindings around version 2. Tried a couple of times to get used to the new \u201cTMUX\u201d style, but switched to Charles Proxy. Have mitmproxy gotten any better in usability over the years? Just based on the images, is seems to have the same problems?", "context": "", "use_case": "HTTP traffic inspection", "switched_from": "mitmproxy", "story": "Charles Proxy"}, {"id": 741352160, "item_id": 46334510, "url": "https://news.ycombinator.com/item?id=46334510", "by": "acheong08", "date": "2025-12-20", "version": null, "stance": "neutral", "quote": "I built a bad clone of Charles Proxy over the summer", "excerpt": "I built a bad clone of Charles Proxy over the summer as part of another project (iOS VPN -> mitm with custom root certificate -> logging). It's surprisingly simple. It basically goes App -> Packet tunnel -> SOCKS -> a child process (I used https://github.com/AdguardTeam/gomitmproxy) to handle the sniffing and reencryption. Did post the source somewhere at some point but my git server got corrupted and I haven't gone ", "context": "", "use_case": "HTTP proxy / traffic inspection", "switched_from": "", "story": "Charles Proxy"}, {"id": 741350832, "item_id": 46334427, "url": "https://news.ycombinator.com/item?id=46334427", "by": "itsn0tm3", "date": "2025-12-20", "version": null, "stance": "warn", "quote": "I used to face issues from time to time doing this with Charles", "excerpt": "It makes working with Xcode simulators even easier by having a dedicated UI workflow to install the proxy certificates and restart the sim. I used to face issues from time to time doing this with Charles having to restart my machine at times and not getting the certificates to work. Proxyman makes this way nicer to work with and since switching I never faced certificate issues again. Not trying to do an ad, but reall", "context": "", "use_case": "", "switched_from": "", "story": "Charles Proxy"}, {"id": 741349872, "item_id": 46334367, "url": "https://news.ycombinator.com/item?id=46334367", "by": "h33t-l4x0r", "date": "2025-12-19", "version": null, "stance": "neutral", "quote": "I loved Charles, I used it for many years.", "excerpt": "I loved Charles, I used it for many years. It only stopped when an update changed the UI in ways that were confusing, and also the chrome network tab really did everything I need in terms of inspecting requests / responses.", "context": "", "use_case": "inspecting HTTP requests", "switched_from": "", "story": "Charles Proxy"}, {"id": 741349169, "item_id": 46334323, "url": "https://news.ycombinator.com/item?id=46334323", "by": "jshier", "date": "2025-12-19", "version": null, "stance": "warn", "quote": "It's a far better macOS app than Charles", "excerpt": "Yes, Proxyman has great sim integration, including the ability to filter by apps within the sim. It's a far better macOS app than Charles, and I've never found it to be lacking a feature I used in Charles.", "context": "", "use_case": "", "switched_from": "", "story": "Charles Proxy"}, {"id": 741348992, "item_id": 46334312, "url": "https://news.ycombinator.com/item?id=46334312", "by": "ChrisMarshallNY", "date": "2025-12-19", "version": null, "stance": "recommend", "quote": "", "excerpt": "Pretty nice. Does it work for Xcode simulators? I use Charles extensively (I am using it for the development I\u2019m doing right now), and it needs to work on simulators. Cost isn\u2019t an issue for me. Fitness to purpose is important. I won\u2019t cripple my development capacity, in order to save $50.", "context": "", "use_case": "HTTP debugging proxy", "switched_from": "", "story": "Charles Proxy"}, {"id": 741347520, "item_id": 46334220, "url": "https://news.ycombinator.com/item?id=46334220", "by": "thunderbong", "date": "2025-12-19", "version": null, "stance": "neutral", "quote": "Didn't know about that.", "excerpt": "Didn't know about that. https://www.charlesproxy.com/documentation/ios/", "context": "", "use_case": "", "switched_from": "", "story": "Charles Proxy"}, {"id": 741347504, "item_id": 46334219, "url": "https://news.ycombinator.com/item?id=46334219", "by": "jibcage", "date": "2025-12-19", "version": null, "stance": "compare", "quote": "I used Charles for a while and also jumped on the Proxyman bandwagon.", "excerpt": "I used Charles for a while and also jumped on the Proxyman bandwagon. It\u2019s a slick tool and even works for remote debugging (i.e., an iPhone attached to your computer with a cable).", "context": "", "use_case": "", "switched_from": "Charles Proxy", "story": "Charles Proxy"}, {"id": 741346657, "item_id": 46334166, "url": "https://news.ycombinator.com/item?id=46334166", "by": "hboon", "date": "2025-12-19", "version": null, "stance": "neutral", "quote": "I don't have elaborate needs and have used Charles for many years.", "excerpt": "I don't have elaborate needs and have used Charles for many years. A few years ago I switched to https://proxyman.com and found it easier to use.", "context": "", "use_case": "HTTP proxy debugging", "switched_from": "", "story": "Charles Proxy"}, {"id": 741346480, "item_id": 46334155, "url": "https://news.ycombinator.com/item?id=46334155", "by": "cientifico", "date": "2025-12-19", "version": null, "stance": "recommend", "quote": "Worth the money.", "excerpt": "One hidden gem. The closest free alternative is https://www.mitmproxy.org/ that is not even close. And off course, https://www.wireshark.org/ but that is too generic and with a bigger learning curve. Worth the money. And no subscription (or there weren't a subscription back then)", "context": "", "use_case": "", "switched_from": "", "story": "Charles Proxy"}, {"id": 733447920, "item_id": 45840495, "url": "https://news.ycombinator.com/item?id=45840495", "by": "goatsi", "date": "2025-11-06", "version": null, "stance": "neutral", "quote": "", "excerpt": "Speaking of sustained scraping for AI services, I found a strange file on your site: https://book.sv/robots.txt. Would you be able to explain the intent behind it?", "context": "", "use_case": "HTTP traffic inspection", "switched_from": "", "story": "Show HN: I scraped 3B Goodreads reviews to train a better recommendation model"}]}