Database & SQL tools

Database URL parserRead the fields behind a connection string

Read the fields behind a connection string

Database URL parser

Connection string

Processed in your browser without connections or saved history. The source editor contains your original text.

Result

Dialect and output

Masking applies to results, previews and exports. Disable it explicitly to reveal and copy original values. Database names and hostnames remain visible.

Syntax inspection only: no connection, DNS/TXT, environment or parameter-effect validation. JDBC supports PostgreSQL and basic MySQL URLs; other vendors and advanced host forms are unsupported.

Up to 100,000 UTF-16 input units, 100 hosts, 1,000 parameters and 1,200,000 output units. Text preview shows at most 20,000 units; exports are complete.

Parsed fields

Scheme
postgresql
Username
***
Password
***
Database / Redis index
app
Standard default port (not resolved configuration)
5432
Query + decoding
Literal +
Hosts — one host[:port] per line
db.example.com:5432 backup.example.com

Ordered parameters

NameValue
sslmode***

Shown 1 / 1; exports contain the complete result.

Parsed 2 hosts and 1 parameters.

The Database URL parser helps when a deployment setting contains an unexpected host, database or encoded password. Read each component in a structured report before changing the configuration.

Use the connection string parser for supported URI dialects, or the JDBC URL parser for common PostgreSQL and MySQL forms. The connection string builder keeps edits in a separate draft so an unfinished change cannot overwrite your input.

Why use the Database URL parser?

Review connection details without exposing every value

The Database URL parser hides usernames, passwords and all parameter values in results by default. Host lists and database names remain useful for checking a migration; explicitly reveal values when a complete configuration is needed.

A connection string separates into host and database blocks, with credential and parameter values concealed.

Try a change before replacing the original

Build a percent-encoded string from decoded fields, inspect the preview and apply it only when ready. One undo restores the previous input and result, making a host or database change easy to compare.

Editable component blocks produce a preview string with an arrow back to the original.

Make the next edit deliberate

01

Check the dialect first

postgres:// and postgresql:// select native PostgreSQL URI rules. JDBC prefixes select driver syntax; mysql:// represents a bounded MySQL Shell form. Similar-looking strings can decode query characters differently.

02

Edit a draft without losing your reference

Hosts use one host[:port] per line; bracket IPv6 addresses. Credentials and database names are decoded fields, while query text is already encoded. Generate a fresh preview after every draft change.

03

Export the current interpretation

Automatic parsing waits 350 ms. Turn it off for Parse or Ctrl/Cmd+Enter. Changed input disables exports until refreshed; the reveal switch controls both the visible report and exported values.

Components that retain their meaning

Host lists with context

Inspect multiple hosts for native PostgreSQL, standard MongoDB and supported JDBC forms. A conventional default port is an annotation, not proof of the port a driver will ultimately use.

Strict component decoding

Malformed percent escapes and invalid UTF-8 are rejected instead of becoming replacement characters. Building encodes reserved delimiters within fields so they do not become new URL separators.

Ordered query entries

Keep parameter names and values as entries rather than a lossy object. In the MongoDB Node dialect, only readPreferenceTags may repeat; unknown options are not validated against a driver property catalog.

Explicitly masked output

All parameter values are hidden by default, including nested URLs and tokens. Ordinary ASCII parameter names remain visible; other names are masked. Revealing results is an intentional action.

Dialect and output boundaries

Supported syntax is bounded
PostgreSQL supports empty hosts, simple host lists and percent-encoded socket hosts. MySQL URI accepts one TCP host. JDBC covers PostgreSQL and MySQL, including the short jdbc:postgresql:database form; Oracle and SQL Server are outside scope. JDBC PostgreSQL option names must be ordinary ASCII identifiers; percent-encoded option names are outside this subset.
Some MySQL driver forms are excluded
JDBC MySQL supports simple comma-separated hosts; authority credentials are restricted to one host. address descriptors, grouped host sublists, loadbalance and replication prefixes are rejected rather than flattened.
A plus depends on the query dialect
JDBC, MongoDB Node and Redis Python query decoding treats + as space. Native PostgreSQL and MySQL URI queries keep a literal plus. Use %2B for an unambiguous plus in form-style queries.
SRV needs DNS outside this tool
mongodb+srv requires one DNS host with no explicit port. This page does not resolve SRV or TXT records. Parsing cannot confirm reachability, credentials, TLS, server settings or the validity of every option.
Masking protects the result view
The original source remains visible. Builder usernames and passwords are concealed by default; query text is a read-only masked view until masking is explicitly disabled. Hostnames and database names are not scanned for secrets.
Resource limits are explicit
Input allows 100,000 UTF-16 units, 1,000 parameters and 100 hosts; output allows 1,200,000 units. The preview shows at most 20,000 units, while copying or downloading retains the complete accepted result.

Database URL parser questions

How do I handle special characters in a PostgreSQL URL password?

Encode the password component, not the entire connection string: @ becomes %40 and # becomes %23. Enter the decoded password in the builder and let it encode the value once; pasting an already encoded password there encodes the percent sign again.

What is the format of a PostgreSQL connection URL?

A common form is postgresql://user:password@host:5432/database?sslmode=require. Credentials, port and other parts may be omitted. The Database URL parser reports what the string contains without reading environment variables or assuming the effective login.

What does +srv mean in a MongoDB connection string?

It tells a driver to discover servers through DNS SRV records and obtain supported TXT options. It is a different connection format, not a suffix to add to an arbitrary localhost URL.

What does the last number in a Redis URL mean?

In redis://host:6379/12, 12 is a database index, not a database name. Whether that index is available depends on the Redis deployment and its configuration; this tool does not connect to check it.

Why can a mongodb+srv URI not have a port number?

SRV records supply the service ports, so an explicit :27017 is invalid in that URI format. Use the actual SRV hostname without a port, or the standard mongodb:// format with the appropriate host list.

Found a parsing issue?

Review the next connection setting

Use the Database URL parser to inspect a configuration, prepare a separate draft and keep a recoverable original when applying changes.