---
title: Password Generator
url: "https://pressable.com/password-generator/"
published: 2025-03-27
author: Wayne McWilliams
---

#### Generated Password

Your New Password

#### Password Settings

  First Character Options 

 
 
 Include Uppercase
  

 
 
 Include Lowercase
  

 
 
 Include Numbers
  

 
 
 Include Symbols
  

 Other Characters Options 

 
 
 Include Uppercase
  

 
 
 Include Lowercase
  

 
 
 Include Numbers
  

 
 
 Include Symbols
  

  Password Length
  

 Generate Password 

 // Collect rules for the first character var firstChars = ''; if (document.getElementById('press-pg-first-uppercase').checked) { firstChars += 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; } if (document.getElementById('press-pg-first-lowercase').checked) { firstChars += 'abcdefghijklmnopqrstuvwxyz'; } if (document.getElementById('press-pg-first-numbers').checked) { firstChars += '0123456789'; } if (document.getElementById('press-pg-first-symbols').checked) { firstChars += '!@#$%^&\*()-\_=+\[\]{}|;:,.?'; }

 // Collect rules for other characters var otherChars = ''; if (document.getElementById('press-pg-other-uppercase').checked) { otherChars += 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; } if (document.getElementById('press-pg-other-lowercase').checked) { otherChars += 'abcdefghijklmnopqrstuvwxyz'; } if (document.getElementById('press-pg-other-numbers').checked) { otherChars += '0123456789'; } if (document.getElementById('press-pg-other-symbols').checked) { otherChars += '!@#$%^&\*()-\_=+\[\]{}|;:,.?'; }

 // Validation if (!firstChars) { document.getElementById('press-pg-output').textContent = 'Please select at least one rule for the first character.'; return; } if (!otherChars) { document.getElementById('press-pg-output').textContent = 'Please select at least one rule for the other characters.'; return; } if (length

 
 Your Browser Info:

- **Browser Name:**
- **Browser Version:**
- **Operating System:**
- **Screen Size:**
- **Viewport Size:**
- **User Agent:**

 // Very basic detection logic: if (/chrome|crios/i.test(userAgent) && !/edge|edg/i.test(userAgent)) { browser = 'Chrome'; version = (userAgent.match(/chrome\\/(\[\\d.\]+)/i) || \[\])\[1\] || 'Unknown'; } else if (/firefox|fxios/i.test(userAgent)) { browser = 'Firefox'; version = (userAgent.match(/firefox\\/(\[\\d.\]+)/i) || \[\])\[1\] || 'Unknown'; } else if (/safari/i.test(userAgent) && !/chrome|crios|android/i.test(userAgent)) { browser = 'Safari'; version = (userAgent.match(/version\\/(\[\\d.\]+)/i) || \[\])\[1\] || 'Unknown'; } else if (/edg/i.test(userAgent)) { browser = 'Microsoft Edge'; version = (userAgent.match(/edg\\/(\[\\d.\]+)/i) || \[\])\[1\] || 'Unknown'; } else if (/msie|trident/i.test(userAgent)) { browser = 'Internet Explorer'; version = (userAgent.match(/(msie\\s|rv:)(\[\\d.\]+)/i) || \[\])\[2\] || 'Unknown'; }

 const os = navigator.platform || 'Unknown'; const screenSize = `${screen.width} x ${screen.height}`; const viewportSize = `${window.innerWidth} x ${window.innerHeight}`;

 document.getElementById('press-bi-browser').textContent = browser; document.getElementById('press-bi-version').textContent = version; document.getElementById('press-bi-os').textContent = os; document.getElementById('press-bi-screen').textContent = screenSize; document.getElementById('press-bi-viewport').textContent = viewportSize; document.getElementById('press-bi-useragent').textContent = userAgent; }

 // Run the detection once the DOM is loaded document.addEventListener('DOMContentLoaded', press\_gatherBrowserInfo);

 
 Enter Domain:
 
  Check SSL

 
 SSL Info:
  

 if (!domain) { alert('Please enter a domain.'); return; }

 resultDiv.innerHTML = 'Checking SSL certificate...';

 var data = new FormData(); data.append('action', 'press\_ssl\_check'); data.append('domain', domain);

 fetch("https://pressable.com/wp-admin/admin-ajax.php", { method: 'POST', credentials: 'same-origin', body: data }) .then(function (response) { return response.json(); }) .then(function (response) { if (response.success) { var cert = response.data; var output = '**Subject:** ' + (cert.subject.CN || 'N/A') + '
'; output += '**Issuer:** ' + (cert.issuer.CN || 'N/A') + '
'; output += '**Valid From:** ' + new Date(cert.validFrom\_time\_t \* 1000).toLocaleString() + '
'; output += '**Valid To:** ' + new Date(cert.validTo\_time\_t \* 1000).toLocaleString() + '
'; output += '**Subject Alternative Names:** ' + (cert.extensions && cert.extensions.subjectAltName ? cert.extensions.subjectAltName : 'N/A') + '
'; resultDiv.innerHTML = output; } else { resultDiv.innerHTML = 'Error: ' + response.data + ''; } }) .catch(function () { resultDiv.innerHTML = 'An error occurred.'; }); }

 // Button click document.getElementById('press-ssl-check-button').addEventListener('click', function () { runSSLCheck(); });

 // Enter key support document.getElementById('press-ssl-domain').addEventListener('keydown', function (event) { if (event.key === 'Enter') { event.preventDefault(); runSSLCheck(); } });

 // Prefill and auto-run from ?d= const urlParams = new URLSearchParams(window.location.search); const prefillDomain = urlParams.get('d');

 if (prefillDomain && /^\[a-z0-9.-\]+$/i.test(prefillDomain)) { const input = document.getElementById('press-ssl-domain'); input.value = prefillDomain; runSSLCheck(); }

 
 Enter Domain:
 
  Check MX Records

 
 MX Info:
  

 if (!domainInput) { alert('Please enter a domain.'); return; }

 resultDiv.innerHTML = 'Retrieving MX records...';

 var data = new FormData(); data.append('action', 'press\_mx\_check'); data.append('domain', domainInput);

 fetch("https://pressable.com/wp-admin/admin-ajax.php", { method: 'POST', credentials: 'same-origin', body: data }) .then(function (response) { return response.json(); }) .then(function (response) { if (response.success) { var records = response.data; if (records.length === 0) { resultDiv.innerHTML = 'No MX records found for this domain.'; } else { var output = '**MX Records:**
'; records.forEach(function (record, index) { output += (index + 1) + ') Priority: ' + record.pri + ' | Target: ' + record.target + '
'; }); resultDiv.innerHTML = output; } } else { resultDiv.innerHTML = 'Error: ' + response.data + ''; } }) .catch(function () { resultDiv.innerHTML = 'An error occurred.'; }); }

 // Button click document.getElementById('press-mx-check-button').addEventListener('click', function () { runMXCheck(); });

 // Enter key support document.getElementById('press-mx-domain').addEventListener('keydown', function (event) { if (event.key === 'Enter') { event.preventDefault(); runMXCheck(); } });

 // Pre-fill + auto-submit from ?d=... const urlParams = new URLSearchParams(window.location.search); const prefillDomain = urlParams.get('d');

 if (prefillDomain && /^\[a-z0-9.-\]+$/i.test(prefillDomain)) { const input = document.getElementById('press-mx-domain'); input.value = prefillDomain; runMXCheck(); }

 
 Enter Domain:
 
 
 
 Select Record Type:
  AAAAACNAMEMXNSTXTSRV 

 Lookup DNS

 
 DNS Info:
  

 if (!domain) { alert('Please enter a domain.'); return; }

 resultDiv.textContent = 'Looking up ' + recordType + ' records for ' + domain + '...';

 var data = new FormData(); data.append('action', 'press\_dns\_lookup'); data.append('domain', domain); data.append('record\_type', recordType);

 fetch("https://pressable.com/wp-admin/admin-ajax.php", { method: 'POST', credentials: 'same-origin', body: data }) .then(function (response) { return response.json(); }) .then(function (response) { if (response.success) { var records = response.data; if (!records || records.length === 0) { resultDiv.innerHTML = 'No ' + recordType + ' records found for ' + domain + '.'; } else { var output = '**' + recordType + ' Records:**
'; records.forEach(function (record, index) { output += (index + 1) + ')
'; for (var key in record) { if (record.hasOwnProperty(key)) { output += ' **' + key + ':** ' + record\[key\] + '
'; } } output += '
'; }); resultDiv.innerHTML = output; } } else { resultDiv.innerHTML = 'Error: ' + response.data + ''; } }) .catch(function () { resultDiv.innerHTML = 'An error occurred.'; }); }

 // Button click document.getElementById('press-dns-lookup-button').addEventListener('click', function () { runDNSLookup(); });

 // Enter key support (anywhere inside the form wrapper) document.getElementById('press-dns-form').addEventListener('keydown', function (event) { if (event.key === 'Enter') { event.preventDefault(); runDNSLookup(); } });

 // Auto-run when record type dropdown changes (if domain field is filled) document.getElementById('press-dns-type').addEventListener('change', function () { const domain = document.getElementById('press-dns-domain').value.trim(); if (domain) { runDNSLookup(); } });

 // Pre-fill + auto-submit from ?d=... const urlParams = new URLSearchParams(window.location.search); const prefillDomain = urlParams.get('d');

 if (prefillDomain && /^\[a-z0-9.-\]+$/i.test(prefillDomain)) { const input = document.getElementById('press-dns-domain'); input.value = prefillDomain; runDNSLookup(); }

 
 Enter Domain:
 
 
 Test Robots.txt 

 
 Robots.txt Content
 

 if (!domain) { alert('Please enter a domain.'); return; }

 resultDiv.textContent = 'Fetching robots.txt from ' + domain + '...';

 var data = new FormData(); data.append('action', 'press\_robots\_test'); data.append('domain', domain);

 fetch("https://pressable.com/wp-admin/admin-ajax.php", { method: 'POST', credentials: 'same-origin', body: data }) .then(function (response) { return response.json(); }) .then(function (response) { if (response.success) { resultDiv.textContent = response.data; } else { resultDiv.innerHTML = 'Error: ' + response.data + ''; } }) .catch(function () { resultDiv.innerHTML = 'An error occurred.'; }); }

 // Button click document.getElementById('press-robots-test-button').addEventListener('click', function () { runRobotsTest(); });

 // Enter key support document.getElementById('press-robots-domain').addEventListener('keydown', function (event) { if (event.key === 'Enter') { event.preventDefault(); runRobotsTest(); } });

 // Pre-fill from ?d=example.com and auto-submit const urlParams = new URLSearchParams(window.location.search); const prefillDomain = urlParams.get('d');

 if (prefillDomain && /^\[a-z0-9.-\]+$/i.test(prefillDomain)) { const input = document.getElementById('press-robots-domain'); input.value = prefillDomain; runRobotsTest(); }
