---
title: "Database Password Generator – pwgen.de"
description: "Only characters that survive a connection string without encoding."
canonical_url: "https://pwgen.de/en/database-password-generator"
meta:
  "og:description": "Only characters that survive a connection string without encoding."
  "og:image": "https://pwgen.de/_og/s/o_db2be54e5f80adc9.png"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "Database Password Generator – pwgen.de"
  "twitter:image": "https://pwgen.de/_og/s/o_db2be54e5f80adc9.png"
---

> Index of every page on this site: [llms.txt](https://pwgen.de/llms.txt)

# **Database Password Generator**

Only characters that survive a connection string without encoding.

Very strong**0 bits**Generated in your browser

## **Local alternative**

`openssl rand -base64 32 | tr -d '+/=' | head -c 32`

Prefer generating secrets on the machine that uses them? This command produces an equivalent value.

Characters such as @, colon, slash, question mark or hash separate the parts of a connection URL like postgres://user:password@host/database. A password containing them has to be percent-encoded, and forgetting that makes the connection fail with misleading errors. This generator uses only the unreserved characters from RFC 3986.

## **Frequently asked questions**

It uses only the unreserved characters from RFC 3986: letters, digits, hyphen, period, underscore and tilde. That lets it survive a connection string such as postgres://user:PASSWORD@host/db without percent-encoding.

Mainly @, :, /, ?, # and square brackets — they are delimiters in a URL and end the password field in the wrong place. Failures of this kind often surface only in a different environment.

Per character, yes, but the length makes up for it: 32 characters from this set give around 190 bits of entropy. That is far beyond anything practically attackable on a database password.

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://pwgen.de/en#website","@type":"WebSite","description":"Kostenloser, datenschutzfreundlicher Passwort-Generator. Generierung direkt im Browser – keine Passwörter werden gespeichert.","inLanguage":"en-US","name":"pwgen.de","url":"https://pwgen.de/en","publisher":{"@id":"https://pwgen.de/#identity"},"translationOfWork":{"@id":"https://pwgen.de/#website"}},{"@id":"https://pwgen.de/en/database-password-generator#webpage","description":"Only characters that survive a connection string without encoding.","name":"Database Password Generator","url":"https://pwgen.de/en/database-password-generator","@type":["WebPage","FAQPage"],"breadcrumb":{"@id":"https://pwgen.de/en/database-password-generator#breadcrumb"},"isPartOf":{"@id":"https://pwgen.de/en#website"},"mainEntity":[{"@id":"https://pwgen.de/en/database-password-generator#/schema/question/1"},{"@id":"https://pwgen.de/en/database-password-generator#/schema/question/2"},{"@id":"https://pwgen.de/en/database-password-generator#/schema/question/3"}],"potentialAction":[{"@type":"ReadAction","target":["https://pwgen.de/en/database-password-generator"]}],"primaryImageOfPage":{"@id":"https://pwgen.de/#logo"}},{"@id":"https://pwgen.de/#identity","@type":"Organization","email":"info@htrs.io","legalName":"GbR HTRS i/o","name":"HTRS i/o","telephone":"+49 221 292 513 03","url":"https://pwgen.de","vatID":"DE359532582","address":{"@type":"PostalAddress","streetAddress":"Gotenring 9","addressLocality":"Köln","postalCode":"50679","addressCountry":"DE"},"logo":{"@id":"https://pwgen.de/#logo"},"sameAs":["https://htrs.io"]},{"@id":"https://pwgen.de/en/database-password-generator#/schema/software-application/1","@type":"SoftwareApplication","applicationCategory":"DeveloperApplication","name":"pwgen.de – Database Password Generator","operatingSystem":"Web Browser","offers":{"@type":"Offer","availability":"https://schema.org/InStock","price":"0","priceCurrency":"EUR","priceValidUntil":"2027-12-30T00:00:00.000Z"}},{"@id":"https://pwgen.de/en/database-password-generator#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"pwgen.de","item":"https://pwgen.de/en","position":1},{"@type":"ListItem","name":"Secrets","item":"https://pwgen.de/en/secrets","position":2},{"@type":"ListItem","name":"Database Password Generator","position":3}]},{"@id":"https://pwgen.de/en/database-password-generator#/schema/question/1","@type":"Question","inLanguage":"en","name":"What makes this password connection-safe?","acceptedAnswer":{"@type":"Answer","text":"It uses only the unreserved characters from RFC 3986: letters, digits, hyphen, period, underscore and tilde. That lets it survive a connection string such as postgres://user:PASSWORD@host/db without percent-encoding."}},{"@id":"https://pwgen.de/en/database-password-generator#/schema/question/2","@type":"Question","inLanguage":"en","name":"Which characters otherwise break a connection string?","acceptedAnswer":{"@type":"Answer","text":"Mainly @, :, /, ?, # and square brackets — they are delimiters in a URL and end the password field in the wrong place. Failures of this kind often surface only in a different environment."}},{"@id":"https://pwgen.de/en/database-password-generator#/schema/question/3","@type":"Question","inLanguage":"en","name":"Isn't a smaller character set less secure?","acceptedAnswer":{"@type":"Answer","text":"Per character, yes, but the length makes up for it: 32 characters from this set give around 190 bits of entropy. That is far beyond anything practically attackable on a database password."}},{"@id":"https://pwgen.de/#logo","@type":"ImageObject","caption":"HTRS i/o","contentUrl":"https://pwgen.de/apple-touch-icon.png","inLanguage":"en","url":"https://pwgen.de/apple-touch-icon.png"}]}
```

## Sitemap

See the full [sitemap](https://pwgen.de/sitemap.md) for all pages.
