Live Visual URL Preview Bar
Watch the exact Google search URL update character-by-character as you toggle parameters, countries, and cities.
Build custom Google search URLs visually and copy clean query strings in real time. Master every active Google URL parameter—from gl, hl, and uule to pws=0, udm=14, filter=0, nfpr=1, and tbs.
I am an SEO Geek from Denmark. I’ve worked with search for over 20 years, helping people understand how Google works and how to use that knowledge to grow. Along the way, I’ve built free tools for keyword research, technical SEO, and SERP analysis. My focus is always on clarity, usefulness, and real data.
Construct, test, and bookmark complex Google search query strings without memorizing undocumented syntax.
Watch the exact Google search URL update character-by-character as you toggle parameters, countries, and cities.
Supports pws=0, nord=1, udm=14, tbs=li:1, tbs=qdr, filter=0, nfpr=1, safe, gl, hl, lr, cr, and canonical Base64 uule.
Properly preserves unescaped '+' and '=' delimiters required by Google's uule parser while encoding query terms safely.
Copy the raw Google search URL to your clipboard for scripts, spreadsheets, or client audits with a single click.
A complete engineering reference to Google's active, undocumented, and deprecated URL query parameters for SEO auditing and scraper development.
https://www.google.[tld]/search? followed by key-value query parameters. Click any Test live ↑ button below to toggle that parameter in the live search builder at the top of this page:
| Parameter | Example Value | Status | Technical Function in Google's Search Engine | Live Test |
|---|---|---|---|---|
q | q=technical+seo | Active | Primary URL-encoded search query string. | Always Active |
pws | pws=0 | Active | Personalized Web Search = Off. Disables search history and cookie-based ranking personalization (Unbiased Search Guide). | Default On |
nord | nord=1 | Active | No Redirect = 1. Prevents Google from automatically redirecting regional ccTLD requests based on IP. | Default On |
gl | gl=DK / gl=US | Active | Geolocation Country (ISO 3166-1 alpha-2). Biases rankings toward the specified national market (International SEO Checker). | Country Pills |
hl | hl=da / hl=en | Active | Host Language (ISO 639-1). Sets Google's UI language and biases query interpretation. | Country Pills |
uule | uule=w+CAIQICI... | Active | Universal Location Identifier. Overrides IP geolocation to simulate a specific city or postal centroid (UULE Generator & Decoder). | City Input |
udm | udm=14 | Active | Universal Display Mode = 14 (Web). Strips AI Overviews, PAA, and widgets to show pure organic web links (No-AI Search Tool). | |
tbm | tbm=lcl | Active | To Be Matched = Local (Local Finder). Opens Google's 20-result Local Finder & Map Pack view (GMB Rank Checker). | |
filter | filter=0 | Active | Duplicate Filter = Off. Disables Google's domain crowding and similar-result suppression filter. | |
nfpr | nfpr=1 | Active | No Forwarding Proposed Replacement. Disables automatic spelling correction and synonym substitution. | |
tbs | tbs=li:1 | Active | Tool Belt Search (Verbatim). Enforces literal exact-match search without synonyms (Verbatim Search Tool). | |
tbs=qdr | tbs=qdr:d | Active | Query Date Range. Restricts results to Past Hour (h), 24h (d), Week (w), Month (m), or Year (y). | |
start | start=10 / 20 | Active | Pagination Offset. Jumps directly to Page 2 (start=10), Page 3 (start=20), up to Page 10 (start=90). | |
cr | cr=countryDE | Active | Country Restrict. Strictly restricts results to web pages hosted in or associated with that country. | |
lr | lr=lang_de | Active | Language Restrict. Strictly restricts results to documents written in the specified language. | Advanced Tab |
num | num=100 | Deprecated | Deprecated in late 2025. Google now ignores num=100 (num=100 Deprecation Guide). | Retired |
&tbs= parameter is a multi-purpose key-value container where multiple directives can be chained together using commas:
| tbs Value | Parameter Meaning | SEO & Research Use Case |
|---|---|---|
tbs=li:1 | Literal = 1 (Verbatim Mode) | Forces exact word matching; disables BERT/RankBrain synonym rewriting. |
tbs=qdr:h / d / w / m / y | Query Date Range (Hour, Day, Week, Month, Year) | Filters index to documents published or indexed within the specified time window (supports numbers like qdr:d3 for 3 days or qdr:m6 for 6 months). |
tbs=cdr:1,cd_min:1/1/2025,cd_max:6/30/2025 | Custom Date Range (MM/DD/YYYY) | Restricts search results to a specific historical date window for algorithm update forensics. |
tbs=sbd:1 | Sort By Date = 1 | Orders matching results chronologically rather than purely by relevance score. |
gl (Soft Country Bias) vs. cr (Hard Country Filter): Setting gl=DK tells Google the user is searching from Denmark, so Danish sites and international sites relevant to Danes (like Wikipedia or global brands) rank naturally. Setting cr=countryDK strictly purges any website not physically hosted in or ccTLD-tied to Denmark. That is why Impersonal.me uses gl by default and keeps cr as an optional toggle in Advanced Settings.hl (UI & Query Language) vs. lr (Hard Document Language Filter): Setting hl=de sets Google's interface to German and helps interpret German queries, whereas lr=lang_de removes any web page not written in German.gl (National Level) vs. uule (Municipal / Postal Level): While gl sets the country, uule pins the searcher to a specific city or neighborhood centroid to trigger localized Maps 3-Packs.By default, Google applies a Host Crowding & Near-Duplicate Filter that limits how many URLs from the same domain can appear on a SERP and hides pages it considers redundant. When you enable &filter=0 in Impersonal.me's Advanced tab:
site:yourdomain.com "target topic" with &filter=0 to uncover all indexed thin or duplicate pages that Google normally hides behind the "repeat the search with the omitted results included" link.uule parameter's literal + characters:
function buildCleanGoogleUrl({ query, gl = 'US', hl = 'en', uule = '', udm14 = false, verbatim = false, filter0 = false }) {
const params = new URLSearchParams();
params.set('q', query);
params.set('pws', '0');
params.set('nord', '1');
if (gl) params.set('gl', gl);
if (hl) params.set('hl', hl);
if (uule) params.set('uule', uule);
if (udm14) params.set('udm', '14');
if (filter0) params.set('filter', '0');
if (verbatim) params.set('tbs', 'li:1');
// Preserve literal '+' and '=' inside uule token
const qs = params.toString().replace(/uule=([^&]+)/g, (_, val) => 'uule=' + decodeURIComponent(val));
return `https://www.google.com/search?${qs}`;
}Google Search URL parameters are key-value query strings appended after 'google.com/search?' (such as q=, gl=, hl=, pws=0, uule=, and udm=14) that control query matching, geographic targeting, personalization, and SERP display modes.
The parameter 'pws=0' stands for Personalized Web Search = 0 (Off). It instructs Google not to use your personal search history or browser cookies to customize the search results.
The 'gl' parameter sets the country geolocation of the search (e.g. gl=GB for the United Kingdom), whereas 'hl' sets the host interface language of Google's UI (e.g. hl=en for English).
Because 'cr=countryXX' is a strict origin filter that removes international websites (like Wikipedia, YouTube, or global .com brands) that rank naturally on local SERPs. Standard local SERPs use 'gl=XX' without 'cr'.
Adding '&filter=0' disables Google's automatic duplicate and host-crowding filter, revealing all omitted results and helping SEOs diagnose keyword cannibalization across their own domain.
Join both values with a comma inside a single tbs parameter, for example: '&tbs=li:1,qdr:m' (which activates both Verbatim exact match and Past Month filtering). Impersonal.me handles this automatically when you select both.
No. Google deprecated the '&num=100' URL parameter in late 2025, enforcing standard ~10 organic results per page across web search.
Yes. Every toggle and dropdown you select in Impersonal.me is automatically synced to the URL hash (#), allowing you to bookmark or share your exact parameter preset.