JDBC URL Builder & Parser
Build or parse JDBC connection URLs for the four major databases. In Build mode, fill in driver, host, port, database, and optional properties — get the correct JDBC URL with the right separator style (?key=value for Postgres/MySQL, ;key=value for SQL Server, @host:port/service for Oracle). In Parse mode, paste any JDBC URL and extract the components in a table.
How to use the JDBC URL Builder & Parser
Build mode — select the driver, fill in host, port, and database/SID/service-name, then optionally add extra connection properties (one key=value per line). The JDBC URL updates in the output box as you type. Copy it with the Copy button. For Oracle, choose between Service Name (/service) and SID (:SID) format.
Driver-specific URL patterns emitted:
- PostgreSQL:
jdbc:postgresql://host:5432/db?sslmode=require&connectTimeout=10 - MySQL:
jdbc:mysql://host:3306/db?useSSL=true&serverTimezone=UTC - SQL Server:
jdbc:sqlserver://host:1433;databaseName=db;encrypt=true;trustServerCertificate=false - Oracle:
jdbc:oracle:thin:@host:1521/ORCL(service) orjdbc:oracle:thin:@host:1521:ORCL(SID)
Parse mode — paste any JDBC URL, switch mode to Parse, and the tool breaks it into driver, host, port, database, and all properties in a table.
What is a JDBC URL?
JDBC (Java Database Connectivity) is the standard Java API for connecting to relational databases. Every JDBC driver requires a connection URL that encodes the driver type, network location, and optional parameters. The URL is always prefixed with jdbc: followed by a driver-specific subprotocol. The four most common variants look similar but differ critically in how they encode properties: Postgres and MySQL use the standard HTTP query string syntax (?key=value&key2=value2), SQL Server uses semicolons (;key=value;key2=value2), and Oracle uses a thin format with the @ sign and either a slash (service name) or colon (SID) before the database identifier.
These differences trip up developers who switch between databases or inherit legacy Java code. A Postgres URL is not a valid SQL Server URL even though they look structurally similar. SQL Server's use of semicolons instead of query-string params means standard URL parsers reject the string. Oracle's thin driver has two sub-variants (SID vs service name) that connect to different Oracle constructs — an SID identifies a specific database instance while a service name is an alias that can route to multiple instances.
Default ports are 5432 (PostgreSQL), 3306 (MySQL), 1433 (SQL Server), and 1521 (Oracle). These are handled automatically — leave the port field blank to use the default for the selected driver.
Common use cases
- Configuring Java ORMs — generate the correct JDBC URL for Hibernate, Spring Data, or jOOQ configuration files without looking up driver documentation.
- DevOps pipelines — build JDBC URLs dynamically in CI/CD pipelines from individual environment variables (host, port, db, credentials).
- Debugging legacy code — parse an unfamiliar JDBC URL from a Java application's config file to understand what database it is connecting to.
- Oracle SID vs service name — quickly generate both URL formats when you are not sure which one the server is configured to accept.
- SQL Server property syntax — avoid the common mistake of using query-string syntax for SQL Server properties, which requires semicolons instead.
Frequently asked questions
What is the default port for each driver?
What is the difference between Oracle SID and Service Name?
:SID (colon) for SID and /service (slash) for service name.Why does SQL Server use semicolons instead of ?key=value?
Does it handle credentials in the URL?
DriverManager.getConnection(url, user, password) or in the Properties object, not embedded in the URL.Can I add custom JDBC driver properties?
key=value format. They are appended to the URL using the correct separator for the driver (& for Postgres/MySQL, ; for SQL Server).