Every request you send, saved where you can find it.

Reqwing is a desktop HTTP client built around bookmarks. Each one keeps a complete request (method, URL, headers, body and options), and they live in nested folders you arrange by drag and drop. Got a Swagger page? Import it and every endpoint becomes a ready-to-send bookmark. Send it, read the response, tweak it, save it. No account and no cloud: your requests stay on your machine.

Download Windows, macOS & Linux

Features

Bookmarks in folders

Save any request as a bookmark and file it in folders, nested as deep as you like. Drag bookmarks and folders to reorder or move them, rename in place with F2, duplicate, delete, and filter the whole tree as you type.

Import a whole API from Swagger

Paste a Swagger UI page or OpenAPI address, or open a JSON / YAML file: Reqwing builds a folder with one bookmark per endpoint, grouped by tag, with URLs, parameters and example bodies filled in. Swagger 2.0 and OpenAPI 3.x.

Nothing lost by accident

A dot shows when the open request differs from its bookmark. Ctrl+S saves it, Ctrl+Shift+S saves a copy, and switching away from unsaved changes asks first.

Every method

GET, POST, PUT, DELETE, PATCH, HEAD and OPTIONS, colour-coded in the tree so you can tell a read from a delete at a glance. Ctrl+Enter sends.

Params and headers as tables

Query parameters stay in sync with the URL both ways. Headers start with sensible defaults (User-Agent, Accept, Accept-Encoding), and any row can be switched off without deleting it.

Any kind of body

form-data with text and file fields, x-www-form-urlencoded, a file sent as is, or raw text with syntax highlighting for JSON, XML, HTML and JavaScript. JSON is checked as you type and can be beautified in one click.

curl in, curl out

Paste a curl command into the URL bar and it becomes the request, quoting and all. The Code tab shows the request as curl, JavaScript fetch, Python requests or HTTPie, ready to copy.

HTTP/1.1 and HTTP/2

HTTP/2 is negotiated with ALPN and falls back to HTTP/1.1 when the server doesn't speak it; cleartext h2c works too. The response tells you which protocol was used.

Redirects you can follow

Follow redirects or not, cap how many, and see every hop of the chain with its status and location, not just where you ended up.

Per-request options

Timeout, automatic decompression (gzip, deflate, br and zstd) and TLS certificate verification, which you can turn off for a local server with a self-signed certificate. Saved with the bookmark.

Response viewer

Status, time, size and protocol at the top; the body pretty-printed, raw, or as a hex dump; images shown as images; and every response header.

Where the time went

Every response breaks down into DNS lookup, TCP connect, TLS handshake, waiting for the first byte and download, with reused connections called out. HTTPS responses show the TLS version, cipher and the server's certificate chain.

No CORS, no proxy

Requests go out from the app itself, not a browser page, so there's no CORS in the way and every header is yours to set. Cancel a slow request at any time.

Local and private

Bookmarks live in a single SQLite file in your user profile. No sign-in, no sync service, no telemetry: the only thing the app fetches on its own is this site's version number, to tell you when an update is out.

Light and dark

Follows your system's light or dark theme, on Windows, macOS and Linux alike.

Download

Looking for the latest release…

The Windows installer is signed with a self-signed certificate, so SmartScreen may ask you to confirm the first time (More info → Run anyway). The macOS apps aren't notarised by Apple: unzip, move Reqwing to Applications, open it once, then allow it under System Settings → Privacy & Security → Open Anyway (or run xattr -dr com.apple.quarantine /Applications/Reqwing.app). On Linux, make the AppImage executable or install the .deb with sudo apt install ./reqwing_*.deb. Reqwing checks this page for new versions and tells you when one is out; it never installs anything by itself.