Charles Proxy is a web-debugging proxy for Windows, macOS and Linux. It sits between a configured app or device and the internet, records the HTTP and HTTPS traffic that passes through it, and lets you inspect requests, responses, headers, cookies and bodies. It is not a browser or a server: opening Charles alone does not capture traffic until the client is actually configured to use its proxy.
This guide covers the desktop workflow, HTTPS decryption, mobile setup, certificate-pinning limits, session management and practical troubleshooting.
What Charles Proxy does
Charles records the network exchange between a client and a server. You can use it to answer questions such as:
- Which API endpoint did a page or app call?
- What status code, headers, cookies or payload were sent?
- What data did the server return?
- Did a redirect, cache rule or authentication header behave as expected?
- Which request is slow or failing?
Requests are shown as HTTP/HTTPS request-response pairs. Charles provides two main views:
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstall#1 Best Overall
- I Love my Cavalier King Charles Spaniel Style Metal License Plate Frame
- Great Quality Vinyl Cut, UV/Water/Carwash/Weather Proof Lettering
- Standard US and Canada License Plate Frame Size
- 2 Mounting Holes on Top as shown in photo
- Easy to install
- Structure: groups traffic by host and path, useful for finding all calls to one service.
- Sequence: shows events in chronological order, useful for following a page load or reproducing a bug.
The request viewer exposes request and response headers and bodies, with viewers for common formats such as JSON and XML. A session can be saved and reopened, or cleared when it becomes too large. Charles documentation describes recording as its primary function (Recording).
Install Charles and capture desktop traffic
- Download the desktop application from the official Download page. The page reviewed for this guide lists Charles 5.2.1 for Windows, macOS and Linux.
- Install and start Charles. Where supported, allow it to configure the operating system or browser proxy settings.
- Confirm recording is enabled. The recording control is important: when recording is off, Charles continues forwarding requests but does not add them to the session.
- Open the browser or desktop application you want to diagnose and generate traffic.
- Return to Charles and select an event. Use Structure to browse by host/path or Sequence to follow order, then inspect the request and response tabs.
Charles captures only traffic routed through its proxy. If a process has its own proxy settings, uses a different network stack or was started before the proxy was enabled, it may not appear. The Browser & System Configuration documentation explains supported configuration paths.
How to read a captured request
Request details
Check the method (GET, POST, PUT, DELETE and so on), full URL, query parameters, request headers, cookies and body. For an API call, the body may contain JSON or form data submitted by the client.
Response details
Check the HTTP status, redirect location, response headers, cookies, cache directives and returned body. JSON and XML viewers make structured payloads easier to read than raw text. Comparing a successful request with a failing one often reveals a missing header, expired cookie, incorrect content type or unexpected server response.
Rank #2
- Aluminum Construction: High-gloss, corrosion-resistant, and durable, designed to withstand extreme temperatures and harsh weather conditions.
- Standard Size: 12" x 6" Fits all US license plate mounts.
- Easy Installation: Pre-drilled holes for a secure, no-drill setup that stays firmly in place.
- Stand Out on the Road: Unique and stylish designs to enhance your vehicle’s visibility and express your personal flair.
- Trendy & Versatile: A variety of eye-catching patterns to match your individual taste!
Sessions and memory
A session stores the recorded events and can be saved for another person to inspect. Busy or long captures consume memory; use the session controls to clear the current recording when you no longer need it. Charles’s Sessions and Requests & Responses references describe these workflows.
How to see HTTPS requests in Charles
HTTPS interception is deliberately opt-in because it gives Charles the ability to decrypt eligible traffic on the configured device. Charles acts as a man-in-the-middle: it creates a certificate for the requested host, signs it with the Charles root certificate, and maintains TLS on both the browser-to-Charles and Charles-to-server connections. The browser therefore sees a Charles-issued certificate while Charles separately connects to the real server.
- Install and trust the Charles root certificate on the device or operating-system trust store, using the certificate instructions at SSL Certificates.
- In Charles, enable SSL Proxying for the host you need to inspect. Host-specific entries are safer than enabling a wildcard for every site; the SSL Proxying guide documents both approaches.
- Reload the page or repeat the app action. HTTPS requests that match the enabled host should now show their decrypted request and response details.
Use this only on devices, accounts, applications and traffic you own or are authorized to debug. Restrict the host list, avoid capturing secrets unnecessarily, and remove the temporary certificate and proxy settings when finished. While interception is enabled, HTTPS is not opaque to the Charles operator.
Connect an iPhone or iPad to desktop Charles
The desktop route requires the device and computer to be on the same Wi-Fi network.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #3
- Our High Quality License Plate Are Sturdy And Constructed Of Super Durable Aluminum With a Laminated Image Designed To Hold Up To The Elements So Your License Plate Will Last For The Long Haul
- Universal Fit For All Cars And Trucks. Approximate Dimensions Are 12"X6". Plate Is Secured In Place Via Fasteners On Top and Bottom (Not Included).
- Makes A Great Gift: Ideal Gift For Family or Friend That has Everything
- SATISFACTION : Our friendly, knowledgeable staff is here to help and customer satisfaction is our top priority! If you have any issues with your order or you’re not happy for any reason, just let us know and we’ll be there to help!
- PROUDLY MADE IN THE USA: Buy with confidence from an American owned and operated company! SignMission Products are produced in our state-of-the-art facility in West Palm Beach, Florida, proudly made in the U. S. A. !
- Start Charles on the computer and note its local IP address and proxy port (usually 8888).
- On iOS, open Wi-Fi settings, tap the connected network, choose Configure Proxy (or HTTP Proxy), select Manual, and enter the computer’s local IP and Charles port.
- Return to Charles and allow the incoming connection prompt.
- Browse on the device. Plain HTTP traffic can be inspected immediately; HTTPS requires installing the Charles certificate through the vendor’s mobile flow.
- On iOS 10.3 and later, enable the installed certificate under Settings → General → About → Certificate Trust Settings, then turn on full trust for the Charles root.
When testing is complete, set the Wi-Fi HTTP proxy back to Off; otherwise the phone may fail to connect when the computer or Charles is unavailable. Charles also offers a separate Charles for iOS app workflow: install the app, turn on Use Proxy, accept its VPN profile prompt, and install and trust its CA certificate. That is different from routing a phone through desktop Charles.
Connect an Android phone or emulator
Route traffic through the computer
For a physical phone, place it on the same Wi-Fi network as the computer running Charles. Set the Android Wi-Fi proxy to the computer’s local IP and Charles port. An emulator can be configured with a local proxy; Google’s Android Charles setup explains the emulator and device paths.
Allow HTTPS in a debug build
Modern Android apps generally do not trust user-installed CA certificates by default. A debuggable app can opt in to user CAs with a Network Security Configuration debug override, while production trust remains unchanged. Configure this only in the controlled application you are developing. Install and trust the Charles CA on the test device, enable SSL Proxying for the needed host, then repeat the request.
Certificate pinning
An app that pins the server certificate or public key can reject the Charles-issued certificate even when the Charles root is trusted. In an app you control, use an appropriate debug configuration or test build. Do not treat removal of protections in a third-party app as a routine setup step. Charles’s FAQ covers this limitation (Charles FAQs).
Rank #4
- Our High Quality License Plate Are Sturdy And Constructed Of Super Durable Aluminum With a Laminated Image Designed To Hold Up To The Elements So Your License Plate Will Last For The Long Haul
- Universal Fit For All Cars And Trucks. Approximate Dimensions Are 12"X6". Plate Is Secured In Place Via Fasteners On Top and Bottom (Not Included).
- Makes A Great Gift: Ideal Gift For Family or Friend That has Everything
- SATISFACTION : Our friendly, knowledgeable staff is here to help and customer satisfaction is our top priority! If you have any issues with your order or you’re not happy for any reason, just let us know and we’ll be there to help!
- PROUDLY MADE IN THE USA: Buy with confidence from an American owned and operated company! SignMission Products are produced in our state-of-the-art facility in West Palm Beach, Florida, proudly made in the U. S. A. !
Common problems and fixes
| Symptom | Likely cause | Fix |
|---|---|---|
| No events appear | The client is not using Charles, or recording is off. | Verify the system, browser or device proxy; confirm the device can reach the computer; turn recording on; generate fresh traffic. |
| Browser shows certificate warnings | The Charles CA is missing, untrusted or SSL Proxying is not configured for that host. | Install and trust the CA, enable SSL Proxying for the target host, then reload. |
| One app still cannot be decrypted | Certificate pinning or an app-specific trust policy. | Use a permitted debug configuration in an app you own; otherwise accept that the traffic may not be inspectable. |
| Phone loses internet after testing | A stale manual proxy remains enabled. | Disable the Wi-Fi HTTP proxy or restore the previous network settings. |
| Charles becomes slow or memory use grows | A long, busy session contains too many events. | Save evidence you need, then clear the current session and capture a narrower reproduction. |
| Only some requests appear | The process bypasses the system proxy, uses another protocol or was not routed through Charles. | Check app-specific proxy behavior and capture assumptions; official documentation does not promise universal protocol or app compatibility. |
Performance, privacy and workflow practices
- Start with recording off, enable it immediately before reproducing the issue, and stop or clear it afterward.
- Limit SSL Proxying to the required hosts instead of using a global wildcard.
- Capture the smallest reproducible action and save the session with a timestamp and build identifier.
- Redact authorization headers, session cookies, personal data and API keys before sharing a session.
- Remember that mobile and desktop proxy settings are separate; changing one does not configure every application.
Version, trial and license information
The official download page reviewed for this article lists desktop release 5.2.1. Charles’s purchase page says Charles 5 was released on 12 March 2025 and offers a 30-day evaluation. The page lists these desktop prices, but checkout availability and currency can change, so verify the current amount before buying:
| License quantity | Listed price |
|---|---|
| 1–4 users | USD $50 per license |
| 5+ users | USD $40 each |
| 10+ users | USD $30 each |
| Site license | USD $400 |
| Multi-site license | USD $700 |
See Buy Licenses for the vendor’s current terms; the page identifies Paddle as merchant of record.
Or skip the browser setup: ScreenshotNeo
If your goal is a rendered screenshot rather than inspecting network traffic, ScreenshotNeo is a website screenshot API and MCP server. One GET request returns a PNG, JPEG, WebP or PDF. It accepts cookie and consent banners before capture and removes more than 60 known consent platforms, newsletter popups and chat widgets; each step can be disabled. Bot checks, CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and response headers report the page verdict and billing result.
Use the API documentation at screenshotneo.com/docs/. cURL:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python:
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Node.js:
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
ScreenshotNeo also provides an MCP server with take_screenshot, get_page_info and capture_pdf for Claude, Cursor and other MCP clients. Features include full-page lazy-image capture, CSS-selector element capture, device presets, custom viewport and retina scale, PDF paper and page-range controls, custom CSS/JavaScript, clicks, waits, request blocking, headers, cookies, user agent, authorization, timezone, geolocation, transparent backgrounds, resizing, selectable cache TTLs, signed links, asynchronous webhooks, bulk capture of 100 URLs per call, usage API and OpenAPI compatibility.
Best Value
- Awesome Design - Decorated with our vibrant design "Cavalier King Charles Spaniel Dog Watercolor Style"
- Premium Quality - Made from rust-resistant aluminum for long-lasting durability.
- Standard Size - Measures 12" x 6", fits most cars and trucks.
- Easy to Install - Pre-drilled holes for hassle-free mounting on vehicles, walls, or display stands.
- Weatherproof & Fade-Resistant - Designed to withstand the elements and maintain vibrant colors.
The Free plan includes 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 shots; all plans include every feature. Create a free ScreenshotNeo account.
Frequently Asked Questions
Is Charles Proxy a VPN?
No. Charles is an application-layer debugging proxy that records traffic from clients configured to use it; it is not a general-purpose VPN.
Can Charles capture traffic from every application?
No. Capture depends on proxy routing, protocol support and the application’s certificate and networking behavior.
Recommended Free Tools
Should I leave the Charles certificate installed?
No. Remove or disable temporary proxy and certificate trust after authorized testing, especially on a personal or shared device.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




