Private, browser-only utility

Turn one proxy address into the format your client expects.

Paste an HTTP, HTTPS, SOCKS4 or SOCKS5 endpoint. The converter separates its scheme, credentials, host and port, then builds copy-ready forms for cURL, Python Requests, Node.js and Playwright.

Network behavior
No requests made
Credential default
Redacted in every output
Shareable state
Nothing written to the URL

Local conversion workbench

One endpoint in. Six usable forms out.

Runs in this tab

Paste one address. The value stays in your browser and is never added to the URL.

Scheme for input without one
Parsed as authority
schemehttp://credentialsUSERNAME:PASSWORD@hostgw.databay.coport:8888

Client-ready output

Credentials stay redacted by default.

6 formats

Canonical proxy URL

text
http://USERNAME:PASSWORD@gw.databay.co:8888

Credentials are percent-encoded so reserved characters do not change the URL grammar.

Endpoint only

text
gw.databay.co:8888

Use this form when a client exposes separate host, port, username, and password fields.

cURL

shell
curl --fail --show-error \
  --proxy 'http://gw.databay.co:8888' \
  --proxy-user 'USERNAME:PASSWORD' \
  https://databay.com/what-is-my-ip/json

Keeps credentials out of the proxy URL. Prefer environment variables or an interactive prompt in saved scripts.

Python Requests

python
import os
from urllib.parse import quote
import requests

username = quote(os.environ.get("PROXY_USER", "USERNAME"), safe="")
password = quote(os.environ.get("PROXY_PASSWORD", "PASSWORD"), safe="")
proxy_url = f"http://{username}:{password}@gw.databay.co:8888"
proxies = {"http": proxy_url, "https": proxy_url}
response = requests.get(
    "https://databay.com/what-is-my-ip/json",
    proxies=proxies,
    timeout=20,
)
response.raise_for_status()
print(response.json())

The HTTPS key selects the route for an HTTPS destination; it does not mean the proxy itself uses HTTPS.

Node.js / Undici

javascript
import { EnvHttpProxyAgent, fetch } from 'undici';

process.env.HTTP_PROXY = 'http://USERNAME:PASSWORD@gw.databay.co:8888';
process.env.HTTPS_PROXY = 'http://USERNAME:PASSWORD@gw.databay.co:8888';
const dispatcher = new EnvHttpProxyAgent();
const response = await fetch(
  'https://databay.com/what-is-my-ip/json',
  { dispatcher },
);
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());

EnvHttpProxyAgent reads the conventional proxy environment variables. Confirm behavior in the pinned Undici version.

Playwright

javascript
const browser = await chromium.launch({
  proxy: {
    server: 'http://gw.databay.co:8888',
    username: process.env.PROXY_USER ?? 'USERNAME',
    password: process.env.PROXY_PASSWORD ?? 'PASSWORD'
  }
});

Playwright keeps credentials in dedicated fields. Authenticated SOCKS support varies by browser engine.

Accepted grammar

Five common inputs, parsed without guessing

A useful converter should refuse ambiguous strings. In particular, this tool does not guess whetheruser:pass:host:portstarts with credentials or a hostname.

Input typeExampleHow it is interpreted
Host and portproxy.example:8080Choose the scheme in the workbench.
Credentials firstuser:pass@proxy.example:8080The standard authority form.
Complete proxy URLsocks5h://user:pass@proxy.example:1080The scheme travels with the endpoint.
Legacy list rowproxy.example:8080:user:passAccepted because many exported lists use it.
IPv6 endpoint[2001:db8::1]:1080Square brackets separate the address from its port.
The important distinction

Valid syntax does not prove a working route

The converter answers “is this address unambiguous, and how does this client represent it?” It does not contact the gateway, authenticate, resolve DNS, test an exit IP, or certify that a proxy is safe.

Conversion proves

The address has a supported scheme, host and valid port; credentials can be separated and encoded.

A live probe proves

One checker reached the endpoint at a recorded time and observed a specific handshake and exit.

Neither proves

Permission, anonymity, source safety, future availability, or correct behavior in every client.

Run a live proxy check after conversion

Client behavior

The same endpoint is not the same configuration

Each client decides where credentials live, which requests use the proxy, and where hostnames resolve. Copy the shape, then confirm the behavior against the version you run.

cURL

--proxy plus --proxy-user
Hostname resolution
Scheme-specific; socks5h sends the hostname to the proxy.
Check before production
A command-line password can be visible briefly to other local processes. Prefer a protected config or interactive input.

Python Requests

proxies mapping
Hostname resolution
socks5 resolves locally; socks5h resolves through the proxy.
Check before production
SOCKS needs the requests[socks] extra. The dictionary key describes the destination URL scheme.

Node.js / Undici

EnvHttpProxyAgent or a pinned scheme-specific dispatcher
Hostname resolution
Depends on the dispatcher and pinned Undici version.
Check before production
Built-in fetch and an installed Undici package can expose different features. Check process.versions.undici.

Playwright

browser or context proxy object
Hostname resolution
The browser engine owns DNS and proxy behavior.
Check before production
Use the dedicated username and password fields. Authenticated SOCKS behavior varies by engine.
Failure map

Diagnose the boundary that failed

Changing string formats repeatedly can hide the actual problem. Read the response or client error, then inspect the nearest boundary first.

Stop condition

A destination block, challenge, quota, or authentication boundary is not a formatting problem. Stop and use an approved API, allowlist, support path, or licensed data source.

  1. 407 Proxy Authentication Required

    Separate the gateway endpoint from credentials, then verify the exact username flags and password. A 407 is a proxy response, not a destination login failure.

  2. A password containing @, :, /, #, or % breaks the URL

    Percent-encode each credential component, not the entire URL. The converter does this only for canonical URL output.

  3. IPv6 is split at the wrong colon

    Wrap the IPv6 literal in square brackets before appending the port: [2001:db8::1]:1080.

  4. The exit works but DNS looks local

    The string is valid, but the selected client may still resolve hostnames locally. Compare SOCKS5 with SOCKS5H only where the client documents both.

  5. The converted value still cannot connect

    Conversion checks grammar, not reachability. Test the endpoint with the proxy checker, then isolate authentication, tunnel, TLS, DNS, and destination failures.

Privacy model

Your credential string stays local

  • Parsing and output generation run in browser memory.
  • The input is not placed in query parameters, fragments, cookies, or local storage.
  • Analytics events record only the selected scheme and output type, never the entered value.
  • Credentials are replaced with USERNAME and PASSWORD until you explicitly reveal them.

What you still control

Browser extensions, screen recording, clipboard managers, shared devices and command history are outside this page’s control. Use short-lived credentials where available, avoid pasting production secrets on an untrusted device, and clear both the workbench and clipboard when finished.

Technical references

How the output rules were checked

References reviewed July 27, 2026. The converter follows the URI authority and percent-encoding model in RFC 3986. Client shapes were checked against the official cURL option reference, Requests proxy documentation, Undici EnvHttpProxyAgent documentation and the Playwright BrowserType proxy options.

Limitations: the converter does not execute generated snippets or assert support in an unpinned client version. SOCKS authentication and remote-DNS behavior require particular care because support differs across libraries and browser engines.

Continue the task

From syntax to a verified route

Understand the route

See where HTTP CONNECT, SOCKS and DNS decisions happen.

Configure a client

Use a maintained guide for the runtime that will make the request.

Probe the endpoint

Test liveness, latency, protocol evidence and the observed exit.

Choose a network

Compare a managed pool when free or one-off endpoints are not enough.

Need an endpoint to put behind the format?

Databay uses one gateway for HTTP, HTTPS and SOCKS5, with pool, country and session controls carried in documented credentials.

Use proxies only for authorized work and respect destination access controls.