URL Encode JavaScript — encodeURIComponent()
Ücretsiz URL Kodlayıcı Online aracını doğrudan tarayıcınızda kullanın — kurulum gerektirmez.
URL Kodlayıcı Online Online Dene →Bir arama URL'si oluştururken, sorgu parametresi olarak bir yönlendirme yolu geçirirken veya bir OAuth yetkilendirme isteği oluştururken, &, = ve boşluklar gibi özel karakterler önce URL kodlanmadığı sürece URL'yi sessizce bozar. JavaScript üç yerleşik yaklaşım sunar — encodeURIComponent(), encodeURI() ve URLSearchParams — her biri farklı bir kullanım durumu için tasarlanmıştır ve yanlış olanı seçmek, kod incelemelerinde karşılaştığım çoğu kodlama hatasının temel nedenidir. Kod yazmadan hızlı tek seferlik kodlama için ToolDeck'in URL Kodlayıcısı tarayıcıda anında işler. Bu kılavuz üç yaklaşımı da derinlemesine ele alır (JavaScript ES2015+ / Node.js 10+): her birini ne zaman kullanacağınızı, boşluklar ve ayrılmış karakterler için nasıl farklılaştıklarını, gerçek dünya Fetch ve API kalıplarını, CLI kullanımını ve en ince üretim hatalarına neden olan dört hatayı.
- ✓encodeURIComponent(), bireysel parametre değerlerini kodlamak için doğru seçimdir — A–Z, a–z, 0–9 ve - _ . ! ~ * ' ( ) dışındaki her karakteri kodlar
- ✓encodeURI(), yapısal karakterleri (/ ? # & = :) koruyarak tam bir URL'yi kodlar — bireysel değerler için asla kullanmayın
- ✓URLSearchParams, anahtar-değer çiftlerini application/x-www-form-urlencoded formatında otomatik kodlar; boşluklar %20 yerine + olur
- ✓Çift kodlama en yaygın üretim hatasıdır: encodeURIComponent(encodeURIComponent(value)) %20'yi %2520'ye dönüştürür
- ✓qs kütüphanesi, sorgu dizelerindeki iç içe nesneleri ve dizileri doğal olarak işler — standart URLSearchParams bunu yapamaz
URL Kodlama Nedir?
URL kodlama (resmi adıyla yüzde kodlama, RFC 3986'da tanımlanmıştır), bir URL'de izin verilmeyen veya özel anlamı olan karakterleri güvenli bir temsile dönüştürür. Her güvensiz bayt, bir yüzde işareti ve ardından iki onaltılık basamakla — karakterin ASCII kodu ile — değiştirilir. Boşluk %20 olur, ve işareti %26 olur, eğik çizgi %2F olur.
Her zaman güvenli olan ve hiçbir zaman kodlanmayan karakterlere ayrılmamış karakterler denir: A–Z ve a–z harfleri, 0–9 rakamları ve dört sembol - _ . ~. Diğer her şey ya veri olarak kullanıldığında kodlanmalıdır ya da URL'nin kendisinde yapısal bir rol üstlenir (örneğin / yol segmentlerini ayırır,&sorgu parametrelerini ayırır). Pratik sonuç: bir sorgu parametresinde ham olarak geçirilen «Kablosuz Klavye & Fare» gibi bir ürün adı URL yapısını bozar.
https://shop.example.com/search?q=Wireless Keyboard & Mouse&category=peripherals
https://shop.example.com/search?q=Wireless%20Keyboard%20%26%20Mouse&category=peripherals
encodeURIComponent() — Sorgu Parametreleri için Doğru Fonksiyon
encodeURIComponent(), JavaScript'te URL kodlamanın temel çalışma aracıdır. Ayrılmamış küme (A–Z, a–z, 0–9, - _ . ! ~ * ' ( )) dışındaki her karakteri kodlar. Kritik olarak, URL'lerde yapısal anlama sahip tüm karakterleri kodlar — &, =, ?, #, / — bu da onu parametre değerlerinde kullanım için güvenli kılar. İçe aktarma gerekmez; tüm JavaScript ortamlarında kullanılabilen global bir fonksiyondur.
Minimal çalışan örnek
// Encode a search query parameter that contains special characters
const searchQuery = 'Wireless Keyboard & Mouse'
const filterStatus = 'in-stock'
const maxPrice = '149.99'
const searchUrl = `https://shop.example.com/products?` +
`q=${encodeURIComponent(searchQuery)}` +
`&status=${encodeURIComponent(filterStatus)}` +
`&maxPrice=${encodeURIComponent(maxPrice)}`
console.log(searchUrl)
// https://shop.example.com/products?q=Wireless%20Keyboard%20%26%20Mouse&status=in-stock&maxPrice=149.99Yönlendirme URL'sini sorgu parametresi olarak kodlama
// The redirect destination is itself a URL — it must be fully encoded
// or the outer URL parser will misinterpret its ? and & as its own
const redirectAfterLogin = 'https://dashboard.internal/reports?view=weekly&team=platform'
const loginUrl = `https://auth.company.com/login?next=${encodeURIComponent(redirectAfterLogin)}`
console.log(loginUrl)
// https://auth.company.com/login?next=https%3A%2F%2Fdashboard.internal%2Freports%3Fview%3Dweekly%26team%3Dplatform
// Decoding on the receiving end
const params = new URLSearchParams(window.location.search)
const next = params.get('next') // Automatically decoded
const nextUrl = new URL(next!) // Safe to parse
console.log(nextUrl.hostname) // dashboard.internalASCII dışı ve Unicode karakterleri kodlama
// encodeURIComponent handles Unicode natively in all modern environments
// Each UTF-8 byte of the character is percent-encoded
const customerName = 'Yılmaz, Mehmet'
const productTitle = 'Istanbul wireless adapter'
const reviewText = 'Çok iyi — mükemmel çalışıyor'
console.log(encodeURIComponent(customerName))
// Y%C4%B1lmaz%2C%20Mehmet
console.log(encodeURIComponent(productTitle))
// Istanbul%20wireless%20adapter
console.log(encodeURIComponent(reviewText))
// %C3%87ok%20iyi%20%E2%80%94%20m%C3%BCkemmel%20%C3%A7al%C4%B1%C5%9F%C4%B1yor
// Decoding back
console.log(decodeURIComponent('Y%C4%B1lmaz%2C%20Mehmet'))
// Yılmaz, MehmetencodeURIComponent(), JavaScript motorunun dahili UTF-16 dize kodlamasını kullanır, ardından karakterin her UTF-8 baytını ayrı ayrı kodlar. Örneğin ı (U+0131) karakteri %C4%B1 olarak kodlanır çünkü UTF-8 temsili iki bayttır: 0xC4 ve 0xB1. Bu doğrudur ve URI standardına uygundur — sunucuların UTF-8 bayt dizisini orijinal kod noktasına geri çözmesi beklenir.JavaScript URL Kodlama Fonksiyonları — Karakter Referansı
Üç yerel kodlama yaklaşımı tam olarak hangi karakterleri kodladıkları konusunda farklılık gösterir. Aşağıdaki tablo en sık sorun çıkaran karakterler için çıktıyı göstermektedir:
| Karakter | URL'deki rolü | encodeURIComponent() | encodeURI() | URLSearchParams |
|---|---|---|---|---|
| Boşluk | sözcük ayırıcı | %20 | %20 | + |
| & | parametre ayırıcı | %26 | korundu | %26 |
| = | anahtar=değer | %3D | korundu | %3D |
| + | kodlanmış boşluk (form) | %2B | %2B | %2B |
| ? | sorgu başlangıcı | %3F | korundu | %3F |
| # | parça | %23 | korundu | %23 |
| / | yol ayırıcı | %2F | korundu | %2F |
| : | şema / port | %3A | korundu | %3A |
| @ | kimlik doğrulama ayırıcı | %40 | korundu | %40 |
| % | yüzde sabiti | %25 | %25 | %25 |
| ~ | ayrılmamış | korundu | korundu | korundu |
Kritik sütun, & ve = için encodeURIComponent() ile encodeURI() karşılaştırmasıdır: encodeURI() bunları dokunulmaz bırakır; bu tam URL kodlanırken doğrudur ancak bu karakterleri içeren bir değer kodlanırken felaket olur.
encodeURI() — URL Yapısını Korumak Gerektiğinde
encodeURI(), tam bir URLkodlamak için tasarlanmıştır — URI'nin geçerli yapısal parçaları olan tüm karakterleri korur: şema (https://), ana makine, yol ayırıcıları, sorgu sınırlayıcıları ve parça tanımlayıcısı. Yol segmentlerinde boşluk veya ASCII dışı karakterler içerebilecek bir URL aldığınızda ancak yapısını bozulmadan tutmanız gerektiğinde kullanın.
Kullanıcı tarafından sağlanan URL'yi temizleme
// A URL pasted from a document with spaces in the path and non-ASCII chars const rawUrl = 'https://cdn.example.com/assets/product images/München chair.png' const safeUrl = encodeURI(rawUrl) console.log(safeUrl) // https://cdn.example.com/assets/product%20images/M%C3%BCnchen%20chair.png // encodeURIComponent would break it — it encodes the :// and all / characters const broken = encodeURIComponent(rawUrl) console.log(broken) // https%3A%2F%2Fcdn.example.com%2Fassets%2Fproduct%20images%2FM%C3%BCnchen%20chair.png // ↑ Not a valid URL — the scheme and slashes are destroyed
URL yapıcısı, kullanıcı tarafından sağlanan URL dizelerini işlemek için genellikle encodeURI()'dan daha iyi bir seçimdir — URL'yi normalleştirir, yapıyı doğrular ve her bileşene erişmek için temiz bir API sağlar.encodeURI()'yı yalnızca dize sonucuna ihtiyaç duyduğunuzda ve girdinin yapısal olarak geçerli bir URL olduğunu zaten bildiğinizde kullanın.URLSearchParams — Sorgu Dizeleri için Modern Yaklaşım
URLSearchParams, modern JavaScript'te sorgu dizelerini oluşturmanın ve ayrıştırmanın deyimsel yoludur. Tüm modern tarayıcılarda ve Node.js 10+'da global olarak kullanılabilir, kodlamayı otomatik olarak işler — düz anahtar-değer çiftleriyle çalışırsınız ve doğru çıktıyı üretir. Önemli bir ayrıntı: boşlukları %20 yerine + olarak kodlayan application/x-www-form-urlencoded spesifikasyonunu takip eder. Bu doğru ve yaygın olarak desteklenmektedir, ancak sunucunuz belirli bir format beklediğinde bunu göz önünde bulundurmalısınız.
Arama isteği URL'si oluşturma
// Building a search API URL with multiple parameters
const filters = {
query: 'standing desk',
category: 'office-furniture',
minPrice: '200',
maxPrice: '800',
inStock: 'true',
sortBy: 'price_asc',
}
const params = new URLSearchParams(filters)
const apiUrl = `https://api.example.com/v2/products?${params}`
console.log(apiUrl)
// https://api.example.com/v2/products?query=standing+desk&category=office-furniture&minPrice=200&maxPrice=800&inStock=true&sortBy=price_asc
// Appending additional params after construction
params.append('page', '2')
params.append('tag', 'ergonomic & adjustable')
console.log(params.toString())
// query=standing+desk&...&tag=ergonomic+%26+adjustableGelen sorgu dizesini ayrıştırma
// Both browser (window.location.search) and Node.js (req.url) scenarios
function parseWebhookCallbackUrl(rawSearch: string) {
const params = new URLSearchParams(rawSearch)
return {
eventId: params.get('event_id'), // null if missing
timestamp: Number(params.get('ts')),
signature: params.get('sig'),
redirectUrl: params.get('redirect'), // Automatically decoded
tags: params.getAll('tag'), // Handles repeated keys
}
}
const callbackQuery = '?event_id=evt_9c2f&ts=1717200000&sig=sha256%3Dabc123&redirect=https%3A%2F%2Fdashboard.internal%2F&tag=payment&tag=webhook'
const parsed = parseWebhookCallbackUrl(callbackQuery)
console.log(parsed.redirectUrl) // https://dashboard.internal/
console.log(parsed.tags) // ['payment', 'webhook']JavaScript Fetch İsteklerinde URL Parametrelerini Nasıl Kodlarım
URL kodlamanın üretim kodunda en sık göründüğü yer fetch() çağrılarının içindedir — ya istek URL'si oluşturulurken ya da istek gövdesinde form verisi gönderilirken. Her senaryonun kendine özgü doğru bir yaklaşımı vardır.
GET isteği — sorgu parametrelerini kodlama
async function searchInventory(params: {
sku?: string
warehouse: string
minStock: number
updatedAfter?: Date
}): Promise<{ items: unknown[]; total: number }> {
const searchParams = new URLSearchParams()
if (params.sku) searchParams.set('sku', params.sku)
searchParams.set('warehouse', params.warehouse)
searchParams.set('min_stock', String(params.minStock))
if (params.updatedAfter) searchParams.set('updated_after', params.updatedAfter.toISOString())
const url = `https://inventory.internal/api/items?${searchParams}`
const res = await fetch(url, {
headers: {
'Authorization': `Bearer ${process.env.INVENTORY_API_KEY}`,
'Accept': 'application/json',
},
})
if (!res.ok) {
throw new Error(`Inventory API ${res.status}: ${await res.text()}`)
}
return res.json()
}
const results = await searchInventory({
warehouse: 'eu-west-1',
minStock: 10,
updatedAfter: new Date('2025-01-01'),
})
console.log(`Found ${results.total} items`)POST isteği — form gövdesini URL kodlama
// application/x-www-form-urlencoded POST — used by OAuth token endpoints,
// legacy form-submission APIs, and some webhook providers
async function requestOAuthToken(
clientId: string,
clientSecret: string,
code: string,
redirectUri: string,
): Promise<{ access_token: string; expires_in: number }> {
const body = new URLSearchParams({
grant_type: 'authorization_code',
client_id: clientId,
client_secret: clientSecret,
code,
redirect_uri: redirectUri, // URLSearchParams encodes this automatically
})
const res = await fetch('https://oauth.provider.com/token', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: body.toString(),
// body: body — also works directly in modern environments (Fetch spec accepts URLSearchParams)
})
if (!res.ok) {
const err = await res.json()
throw new Error(`OAuth error: ${err.error_description ?? err.error}`)
}
return res.json()
}Bir betik yazmadan kodlanmış bir URL'yi test etmek veya hata ayıklamak istediğinizde, ham değeri doğrudan URL Kodlayıcı'ya yapıştırın — tarayıcı ve sunucunun tam olarak ne göreceğini anında kodlar ve çözer. OAuth yönlendirme URI'lerini, webhook geri çağırma URL'lerini ve CDN imzalı istek parametrelerini incelemek için kullanışlıdır.
Node.js ve Shell ile Komut Satırında URL Kodlama
Kabuk betikleri, CI ardışık düzenleri veya hızlı hata ayıklama için tam bir betik yazmadan çalışan birkaç komut satırı yaklaşımı mevcuttur.
# ── Node.js one-liners — cross-platform (macOS, Linux, Windows) ────────
# encodeURIComponent — encode a single value
node -e "console.log(encodeURIComponent(process.argv[1]))" "Wireless Keyboard & Mouse"
# Wireless%20Keyboard%20%26%20Mouse
# Build a complete query string
node -e "console.log(new URLSearchParams(JSON.parse(process.argv[1])).toString())" '{"q":"standing desk","category":"office-furniture","page":"1"}'
# q=standing+desk&category=office-furniture&page=1
# Decode a percent-encoded string
node -e "console.log(decodeURIComponent(process.argv[1]))" "Wireless%20Keyboard%20%26%20Mouse"
# Wireless Keyboard & Mouse
# ── curl — automatic encoding ───────────────────────────────────────────
# curl --data-urlencode encodes values automatically in GET and POST
curl -G "https://api.example.com/search" --data-urlencode "q=Wireless Keyboard & Mouse" --data-urlencode "category=office furniture"
# ── Python one-liner (available on most systems) ─────────────────────────
python3 -c "from urllib.parse import quote; print(quote(input(), safe=''))"
# (type the string and press Enter)
# ── jq + bash: encode every value in a JSON object ───────────────────────
echo '{"q":"hello world","tag":"node & express"}' | node -e "const d=JSON.parse(require('fs').readFileSync('/dev/stdin','utf8')); console.log(new URLSearchParams(d).toString())"
# q=hello+world&tag=node+%26+expressYüksek Performanslı Alternatif: qs
Yerleşik URLSearchParams, iç içe nesneleri veya dizileri desteklemez — pek çok API ve çerçeve tarafından kullanılan sorgu dizesi şekli. Haftalık 30M+ npm indirmesiyle qs kütüphanesi, pratikte kullanılan tam sorgu dizesi kalıplarını işler: parantez notasyonuyla iç içe nesneler (filters[status]=active), tekrarlanan anahtarlar, özel kodlayıcılar ve yapılandırılabilir dizi serileştirme biçimleri.
npm install qs # or pnpm add qs
import qs from 'qs'
// URLSearchParams cannot represent this structure natively
const reportFilters = {
dateRange: {
from: '2025-01-01',
to: '2025-03-31',
},
status: ['published', 'archived'],
author: { id: 'usr_4f2a9c1b', role: 'editor' },
workspace: 'ws-platform-eu',
}
// qs produces bracket-notation query strings used by Express, Rails, Django REST
const query = qs.stringify(reportFilters, { encode: true })
console.log(query)
// dateRange%5Bfrom%5D=2025-01-01&dateRange%5Bto%5D=2025-03-31&status%5B0%5D=published&status%5B1%5D=archived&author%5Bid%5D=usr_4f2a9c1b&author%5Brole%5D=editor&workspace=ws-platform-eu
// Human-readable (no encoding) — useful for debugging
console.log(qs.stringify(reportFilters, { encode: false }))
// dateRange[from]=2025-01-01&dateRange[to]=2025-03-31&status[0]=published&status[1]=archived...
// Parsing back
const parsed = qs.parse(query)
console.log(parsed.dateRange) // { from: '2025-01-01', to: '2025-03-31' }
console.log(parsed.status) // ['published', 'archived']Düz anahtar-değer parametreleri için URLSearchParams her zaman doğru seçimdir — yerleşiktir, sıfır ek yükü vardır ve evrensel olarak desteklenir. İç içe yapılara, tekrarlanan anahtarlar dışındaki dizi serileştirme biçimlerine ihtiyaç duyduğunuzda veya parantez notasyonlu sorgu dizeleri bekleyen bir arka uç çerçevesiyle entegre olurken qs'e başvurun.
Yaygın Hatalar
Bu dört hatayı üretim kod tabanlarında defalarca gördüm — çoğu yalnızca bir değer özel karakter içerdiğinde ortaya çıkan sessiz başarısızlıklardır; bu tam olarak birim testlerinden geçen ve yalnızca gerçek kullanıcı verileriyle ortaya çıkan hata türüdür.
Hata 1 — Sorgu parametresi değerleri için encodeURI() kullanmak
Sorun: encodeURI(), &, = veya + kodlamaz. Bir değer bu karakterleri içerdiğinde, bunlar sorgu dizesi sözdizimi olarak yorumlanır ve parametreleri sessizce böler veya üzerine yazar. Düzeltme: bireysel değerler için her zaman encodeURIComponent() kullanın.
// ❌ encodeURI does not encode & and = in the value
// "plan=pro&promo=SAVE20" is treated as two separate params
const planName = 'Pro Plan (save=20% & free trial)'
const url = `/checkout?plan=${encodeURI(planName)}`
// /checkout?plan=Pro%20Plan%20(save=20%%20&%20free%20trial)
// ↑ & breaks the query string// ✅ encodeURIComponent encodes & and = safely
const planName = 'Pro Plan (save=20% & free trial)'
const url = `/checkout?plan=${encodeURIComponent(planName)}`
// /checkout?plan=Pro%20Plan%20(save%3D20%25%20%26%20free%20trial)
// ↑ = and & are both encodedHata 2 — Zaten kodlanmış bir dizeyi çift kodlamak
Sorun: Zaten yüzde kodlanmış olan bir değer üzerinde encodeURIComponent()çağırmak, %'yi %25'e dönüştürür; dolayısıyla %20 %2520 olur. Sunucu bir kez çözer ve boşluk yerine gerçek bir %20 alır. Düzeltme: önce çözün, sonra yeniden kodlayın veya değerin hiçbir zaman iki kez kodlanmadığından emin olun.
// ❌ encodedParam already contains %20 — encoding again produces %2520
const encodedParam = 'Berlin%20Office'
const url = `/api/locations/${encodeURIComponent(encodedParam)}`
// /api/locations/Berlin%2520Office
// Server sees: "Berlin%20Office" (a literal percent-twenty, not a space)// ✅ Decode first if the value may already be encoded
const maybeEncoded = 'Berlin%20Office'
const clean = decodeURIComponent(maybeEncoded) // 'Berlin Office'
const url = `/api/locations/${encodeURIComponent(clean)}`
// /api/locations/Berlin%20Office — correctHata 3 — URLSearchParams ile encodeURIComponent arasındaki + / %20 farkını görmezden gelmek
Sorun: URLSearchParams, boşlukları + (application/x-www-form-urlencoded) olarak kodlarken encodeURIComponent() %20 kullanır. Her ikisini aynı URL'de karıştırmak — örneğin URLSearchParams çıktısına önceden kodlanmış bir dize eklemek — bazı ayrıştırıcıların kafasını karıştıran tutarsız kodlamaya yol açar. Düzeltme: bir yaklaşım seçin ve URL oluşturma fonksiyonu boyunca tutarlı biçimde kullanın.
// ❌ Mixed: URLSearchParams uses + for spaces, but we're appending
// a manually-encoded segment that uses %20
const base = new URLSearchParams({ category: 'office furniture' })
const extra = `sort=${encodeURIComponent('price asc')}`
const url = `/api/products?${base}&${extra}`
// /api/products?category=office+furniture&sort=price%20asc
// ↑ two different space encodings in the same URL// ✅ Use URLSearchParams exclusively — consistent encoding throughout
const params = new URLSearchParams({
category: 'office furniture',
sort: 'price asc',
})
const url = `/api/products?${params}`
// /api/products?category=office+furniture&sort=price+ascHata 4 — Eğik çizgi içeren yol segmentlerini kodlamayı unutmak
Sorun: REST yol segmenti olarak kullanılan bir dosya yolu (reports/2025/q1.pdf) gibi bir kaynak tanımlayıcısı, sunucu yönlendiricisinin yol ayırıcı olarak yorumladığı / karakterleri içerir ve var olmayan bir uç noktaya yönlendirir. Düzeltme: eğik çizgi içerebilecek yol segmentleri için her zaman encodeURIComponent() kullanın.
// ❌ The file path contains / — the server receives a 3-segment path
// instead of a single resource ID
const filePath = 'reports/2025/q1-financials.pdf'
const url = `https://storage.example.com/objects/${filePath}`
// https://storage.example.com/objects/reports/2025/q1-financials.pdf
// → Server routes to /objects/:year/:filename — 404 or wrong resource// ✅ encodeURIComponent encodes / as %2F — single path segment
const filePath = 'reports/2025/q1-financials.pdf'
const url = `https://storage.example.com/objects/${encodeURIComponent(filePath)}`
// https://storage.example.com/objects/reports%2F2025%2Fq1-financials.pdf
// → Server receives the full file path as one resource identifierJavaScript URL Kodlama Yöntemleri — Hızlı Karşılaştırma
| Yöntem | Boşlukları kodlama biçimi | & = ? kodlar mı | # / : kodlar mı | Kullanım durumu | Kurulum gerektirir |
|---|---|---|---|---|---|
| encodeURIComponent() | %20 | ✅ evet | ✅ evet | Bireysel parametre değerlerini kodlama | No |
| encodeURI() | %20 | ❌ hayır | ❌ hayır | Tam URL dizesini temizleme | No |
| URLSearchParams | + | ✅ evet | ✅ evet | Sorgu dizeleri oluşturma ve ayrıştırma | No |
| URL yapıcısı | bileşene göre otomatik | otomatik | otomatik | Tam URL oluşturma ve normalleştirme | No |
| qs kütüphanesi | %20 (yapılandırılabilir) | ✅ evet | ✅ evet | Sorgu dizelerinde iç içe nesneler ve diziler | npm install qs |
Vakaların büyük çoğunluğunda seçim üç senaryoya indirgenir. Yapılandırılmış verilerden çok parametreli sorgu dizeleri oluştururken URLSearchParams kullanın — en güvenli ve en okunabilir seçenektir. Şablon literal URL'deki tek bir değeri, yol segmentlerini veya boşluklar için + yerine %20 bekleyen sistemlerdeki değerleri (AWS S3 imzalı URL'ler gibi) kodlamak için encodeURIComponent()kullanın. Sorgu dizeniz URLSearchParams'ın doğal olarak temsil edemeyeceği iç içe nesneler veya diziler taşıdığında qs'e başvurun.
Sıkça Sorulan Sorular
İlgili Araçlar
Kod yazmadan tek tıklamayla kodlama veya çözme için dizenizi doğrudan URL Kodlayıcı'ya yapıştırın — tarayıcınızda anında yüzde kodlama ve çözme işlemi yapar; kodlanmış çıktı bir fetch çağrısına veya terminale kopyalanmaya hazır.
Alex is a front-end and Node.js developer with extensive experience building web applications and developer tooling. He is passionate about web standards, browser APIs, and the JavaScript ecosystem. In his spare time he contributes to open-source projects and writes about modern JavaScript patterns, performance optimisation, and everything related to the web platform.
Sophie is a full-stack developer focused on TypeScript across the entire stack — from React frontends to Express and Fastify backends. She has a particular interest in type-safe API design, runtime validation, and the patterns that make large JavaScript codebases stay manageable. She writes about TypeScript idioms, Node.js internals, and the ever-evolving JavaScript module ecosystem.