Database Connection String Parser and Builder
WebEverything runs locally in your browser — nothing is uploaded
Splits a connection string into host, port, database, username, password and parameters — or builds one from those fields. Both the URL form (`postgres://user:pass@host:5432/db?sslmode=require`) and the key=value form (`host=… port=… user=…`) are accepted. The `@`, `:` and `/` in a password must be percent-encoded, and only once. Parsing decodes, building encodes, and a password that already looks encoded (contains `%XX`) is flagged rather than encoded a second time (`p%40ss` → `p%2540ss`). Everything runs locally in your browser; the connection string and the password never leave your device, and no request is made.
Features
- Two modes: parse a string, or build one from fields
- Four targets: PostgreSQL, MySQL, MongoDB and Redis, each with its own default port
- Accepts both the URL form and libpq-style key=value
- Special characters in the password are percent-encoded; parsing decodes them again
- Warns when a password looks already encoded, so `%40` never becomes `%2540`
- Recognises sslmode / ssl-mode / tls parameters and lists each one
- Redis switches to the `rediss://` scheme for TLS
- Copy any single row, or all of them
How to use
- Choose Parse or Build
- Parse: paste a connection string and the fields appear at once
- Build: pick a target and fill in host, port, database and password
- Switch the SSL requirement if needed and the string updates live
FAQ
- My password looks right but the connection fails. Why?
- Usually double encoding. When building, the tool turns `@` into `%40`; if the string already contained `%40` (say, copied from another tool), encoding again produces `%2540`, and the server receives a password different from the one you set. This tool warns when the input contains `%XX` — when it does, enter the decoded plaintext instead.
- Why is the parsed password shown as plaintext?
- Because the string stores the encoded form while the value you need to check is the one set in the database. The tool decodes once on parsing, so `p%40ss` shows as `p@ss`. It only reverses the string’s own encoding, and changes nothing else.
- The key=value form has no scheme — how is the database type known?
- From the Target database dropdown. The URL form carries a scheme (`postgres://`, `redis://`…) that can be detected; the key=value form is a libpq / JDBC conninfo with no database type in it, so your selection decides.
- Is anything uploaded?
- No. Parsing and building run entirely in the browser; the connection string (password included) never leaves your device and no request is made.
Related tools
Compose ↔ docker run
WebConvert both ways between compose services and docker run. Keys without an equivalent are listed with the reason, never silently dropped.
Config Validator
WebCheck a package.json, .env, robots.txt, sitemap.xml or HTTP headers. Findings come in three levels — errors, warnings, suggestions — each with a reason.
Database Schema Designer
WebPaste your DDL to get a relationship diagram, the same tables in MySQL, PostgreSQL or SQLite, and a structural check for broken keys and missing indexes.
URL Parser
WebParse a URL into scheme, host, port, path, query parameters and fragment, with each parameter shown raw and decoded. Runs entirely in your browser.
User-Agent Parser
WebParse a user agent into browser, version, OS, device type and engine, and see which rules matched. Pattern matching only. Runs entirely in your browser.
HTTP Status Codes
WebLook up an HTTP status code for its meaning, 1xx–5xx class, typical uses and common traps. Runs entirely in your browser.