Connection String Parser

Split a database connection string into host, port, user, database and options, with the password masked.

Paste a connection string above to see its parts instantly.

No uploads. Your files stay on your device.

Free forever, no sign-up, no cookies. Buy me a coffee

How it works

Paste any database or service connection string and it is split into its parts as you type. Two grammars are implemented by hand in JavaScript. The URI form (scheme://user:password@host:port/database?options) follows RFC 3986: the authority is split at the last @, hosts may be bracketed IPv6 literals, and every part is percent-decoded, so p%40ssw0rd is reported as p@ssw0rd. The key=value form follows the ADO.NET / ODBC connection-string grammar: semicolon-separated pairs, case-insensitive keys, last duplicate wins, and values wrapped in braces, "double" or 'single' quotes so they can contain ; and =. A leading jdbc: prefix is stripped and the rest is parsed as a JDBC URL, with user and password read from the query string.

Common aliases are normalised for you: Server, Data Source, Addr and Network Address all map to the host, Initial Catalog to the database, and User ID/UID and PWD to the credentials. SQL Server syntax such as Server=tcp:host,1433 and the host\instance form is understood, and MongoDB replica-set host lists (h1:27017,h2:27017) are listed separately. When no port is given the default port for the scheme is shown as a note rather than being invented. Driver-specific shapes that are not URIs, such as the Oracle thin jdbc:oracle:thin:@host:port:sid syntax, are reported as unsupported instead of being guessed at.

The password is masked until you tick Reveal password, and the redacted output replaces every secret value with ***** so you can share the string safely. Nothing is uploaded: parsing runs entirely in your browser, so production credentials never leave your device.

Frequently asked questions

Which connection string formats can this parser read?

Three. URI strings of the form scheme://user:password@host:port/database?options are parsed per RFC 3986, which covers PostgreSQL, MySQL, MongoDB, Redis, AMQP and most cloud services. Key=Value strings separated by semicolons are parsed with the ADO.NET and ODBC grammar, including braced or quoted values that contain a semicolon. A leading jdbc: prefix is stripped and the rest is read as a JDBC URL, with the user and password taken from the query string. Driver-specific shapes that are not URIs, such as jdbc:oracle:thin:@host:port:sid, are reported as unsupported instead of being guessed at.

Is it safe to paste a production connection string here?

Yes. The parsing runs entirely in JavaScript on your device, so the string is never uploaded, logged or sent to any server, and the page makes no network requests at all. The password stays masked until you tick Reveal password, and the Copy redacted button gives you the same string with every secret value replaced by *****, which is what you want before pasting it into a ticket, a chat message or a commit.

Why does my password come out different from what I typed?

Because URI connection strings are percent-encoded. RFC 3986 requires characters such as @, :, / and # to be escaped inside the userinfo, so a password written as p%40ssw0rd is really p@ssw0rd, and that is what your database driver sends. The parser decodes it for you. It also splits the authority at the last @ rather than the first, so a password containing an unescaped @ does not truncate the hostname.

Report a bug