Free PostgreSQL Tools
This page collects free PostgreSQL tools that run inside your browser tab. Open one, paste a query or a password, and what you typed stays in the page rather than going to a server. Nothing asks you to sign in. Because we work on a test data product, we spent a lot of time with formatters and hash generators that answer for SQL in general and leave the Postgres specifics to you, so eventually we wrote our own.
Choose a free PostgreSQL tool
- FormatterIndents a Postgres query and puts the keywords where you expect them, so a long CTE stops being one unreadable line. Minifies it again when you need it back on one line.
- Syntax checkerRuns your statement through the grammar Postgres itself uses and reports the same message the server would, with the character position it stopped at.
- PlaygroundA real Postgres server compiled to WebAssembly, running inside the tab. Create tables, insert rows, join them, and read the plan, with no server behind it.
- Connection string builderFills in host, port, database and credentials, then writes the same connection out as a URI, a psql command, a JDBC URL and a DATABASE_URL. Passwords get percent-encoded for you.
- Password hash generatorTurns a password into the verifier string Postgres stores, in the SCRAM-SHA-256 format CREATE ROLE accepts, plus the legacy md5 form and a bcrypt hash for Supabase auth rows.
- UUID v7 generatorGenerates time-ordered identifiers in batches, decodes the timestamp back out of one, and hands you the SQL to make them a column default.
- Truncate generatorPaste the DDL of a schema and it writes the TRUNCATE statement for every table in it, with RESTART IDENTITY and CASCADE where you want them. When cascading is not an option, it gives you the DELETE order instead.
- Pool size calculatorEnter your server size and how many application instances run against it, and get max_connections, a pool size for each worker process and the PgBouncer lines that go with them. Presets cover the managed providers.
- String escaperQuotes a value for Postgres the way quote_literal does, and also as an E-string, dollar quoted, as a LIKE pattern and as an identifier. Paste any of those back and it returns the plain text.
- Error code lookupGive it a SQLSTATE code, a condition name or a whole error line copied out of a log. It answers with what the condition means, the class it sits in and what usually produces it.
- Enum migration generatorReads a CREATE TYPE ... AS ENUM, then builds the migration for the values you add, rename or remove. The rollback script and the query that finds every column using the type come with it.
Seedfast connects to a live PostgreSQL database and reads its schema on every run, then writes connected rows into it from one command.