URL çözme (yüzde çözme), URL kodlamanın tersidir: yüzde kodlanmış dizileri orijinal karakterlerine geri dönüştürür. İki onaltılık basamaktan önce gelen bir yüzde işaretinin (%XX) her geçişi, XX'nin temsil ettiği baytla değiştirilir. Ardışık birden fazla kodlanmış bayt, orijinal UTF-8 karakterini yeniden oluşturmak için yeniden birleştirilir.
URL çözme, API'ler, web kazıma, log analizi ve kimlik doğrulama akışlarıyla çalışan geliştiriciler için günlük bir görevdir. Kodlanmış URL'ler makineler için okunabilir ancak insanlar için opaktır — bunları çözmek, gerçek yolları, arama sorgularını, yönlendirme hedeflerini ve aksi takdirde zihinsel hex-karakter dönüşümü gerektiren parametre değerlerini anında ortaya koyar.
Bu Aracı Neden Kullanmalısınız?
Herhangi bir yüzde kodlanmış URL veya sorgu dizesini hızlıca anlayın — tarayıcı konsolu gerekmez, sunucuya hiçbir şey gönderilmez.
⚡
Anında Çözme
Herhangi bir kodlanmış URL veya parametre yapıştırın ve insan tarafından okunabilir sürümü hemen görün. API isteklerini ve log dosyalarını hata ayıklamak için idealdir.
🛡️
Hata Kurtarma
decodeURIComponent ile başarısız olacak eski tarz Latin-1 yüzde kodlanmış karakterler içeren girişler için legacy unescape() yöntemine geri döner.
🔒
Yalnızca İstemci Tarafı
Tüm çözme işlemi tarayıcınızda yerel olarak çalışır. Token'lar, parolalar ve özel sorgu parametreleri cihazınızı hiçbir zaman terk etmez.
🔁
Tam URL Desteği
Tam URL'leri veya bireysel parametre değerlerini çözün. Araç, hem standart %20 boşluklarını hem de + işaretlerini gerçek artı karakterler olarak korur.
Bu çevrimiçi URL çözücüyü nasıl kullanılır
Hesap yok, kurulum yok. Yüzde kodlu dizenizi giriş alanına yapıştırın ve çözülmüş sonuç anında görünür. Her şey tarayıcınızda çalışır — verileriniz asla cihazınızı terk etmez.
1
Kodlu URL'nizi veya dizenizi yapıştırın
Herhangi bir yüzde kodlu dize kopyalayın — tarayıcı adres çubuğundan bir URL, sunucu günlüklerinden bir sorgu parametresi, bir API yanıtı veya bir yönlendirme hedefi — ve giriş alanına yapıştırın.
2
Otomatik format algılama
Çözücü hem %XX yüzde kodlamasını hem de + işaretini boşluk olarak (application/x-www-form-urlencoded) otomatik olarak işler. Kodlama biçimini manuel olarak belirtmenize gerek yoktur.
3
Çözülmüş çıktıyı inceleyin
İnsan tarafından okunabilir metin anında görünür. Girdi iç içe kodlama (çift kodlanmış dizeler) içeriyorsa çözücü her seferinde bir katmanı çözer. Hatalı biçimlendirilmiş %XX dizileri için bir hata görünür.
4
Kopyalayın veya yeniden kodlayın
Çözülmüş dizeyi almak için Kopyala'ya tıklayın. Farklı ayarlarla yeniden kodlamanız mı gerekiyor? Tek tıklamayla URL Kodlayıcı aracına geçin.
Çözme Nasıl Çalışır
Çözücü, % dizileri için girişi tarar, her iki onaltılık basamak grubunu bir bayt değerine dönüştürür, ardışık bayt dizilerini gruplar ve nihai Unicode karakterleri üretmek için bunları UTF-8 olarak yorumlar.
En sık karşılaşılan yüzde kodlanmış diziler için hızlı referans:
Kodlanmış
Kar.
Nerede göreceksiniz
%20
space
path segments, query values
%2B
+
literal plus (not a space in query)
%2F
/
slash inside a path component
%3F
?
literal question mark in a value
%23
#
literal hash in a value
%26
&
literal ampersand in a value
%3D
=
literal equals sign in a value
%40
@
at sign in username / password
%3A
:
colon inside a path segment
%25
%
literal percent sign
%2C
,
comma in path or query
%5B
[
opening bracket
%5D
]
closing bracket
%7B
{
curly brace in template literals
%7D
}
curly brace in template literals
Yaygın Kullanım Durumları
API İsteklerini Hata Ayıklama
Tarayıcı DevTools ağ loglarından bir URL kopyalayın ve gerçek sorgu parametresi değerlerini görmek için çözün — özellikle otomatik araçlar veya kütüphaneler parametreleri yüzde kodladığında kullanışlıdır.
Log Dosyalarını Okuma
Web sunucusu erişim logları ve uygulama logları, URL'leri kodlanmış biçimde saklar. Gerçek istenen yolları, arama terimlerini ve parametre değerlerini bulmak için bunları çözün.
Yönlendirmeleri İnceleme
OAuth geri aramaları, SSO yönlendirmeleri ve bağlantı izleme URL'leri genellikle yoğun şekilde kodlanmış redirect_uri veya next parametreleri taşır. Hedeflenen hedefi izlemek için URL'yi çözün.
Webhook Yüklerini Ayrıştırma
application/x-www-form-urlencoded olarak gönderilen webhook gövdeleri (Stripe, Twilio, GitHub), yüzde kodlanmış dizeler olarak gelir. Gerçek alan değerlerini okumak için bunları çözün.
Arama Sorgularını Çıkarma
Analitik URL'ler ve referrer başlıkları, kullanıcının orijinal arama sorgusunu q= parametresinde yüzde kodlanmış olarak içerir. Gerçek arama terimlerini görüntülemek veya analiz etmek için çözün.
URL'leri Tersine Mühendislik
Üçüncü taraf API'leriyle entegrasyon yapılırken veya kazıma yapılırken, karşılaşılan URL'ler genellikle kodlanmış yol segmentleri ve parametreler içerir. URL yapısını anlamak ve istekleri yeniden üretmek için bunları çözün.
Yaygın Tuzaklar
Bunlar yüzde kodlanmış dizeleri çözerken en sık yapılan hatalar:
✕
+ ile %20'yi Karıştırma
application/x-www-form-urlencoded verilerinde (HTML form gönderimleri), + bir boşluğu temsil eder. Ancak ham bir URL yolunda veya encodeURIComponent ile kodlanmış bir değerde, + gerçek bir artı işaretidir. decodeURIComponent, +'yı boşluğa dönüştürmez — form verileri için URLSearchParams veya unquote_plus kullanın.
✕
Çift Kodlanmış Dizeler
Bir dize iki kez kodlandıysa, bir kez çözme hala yüzde işaretleri bırakır: %2520, boşluk değil %20 olarak çözülür. Orijinal değeri elde etmek için ikinci kez çözün. Buna log'larda, proxy'lerde ve zaten kodlanmış verileri yeniden kodlayan middleware'lerde dikkat edin.
✕
Hatalı Biçimlendirilmiş Yüzde Dizileri
Tek başına % veya onaltılık olmayan karakterlerle takip edilen % (örn. %GG veya % 2) geçersizdir ve URIError fırlatır. Her zaman girişi doğrulayın veya çözmeyi try/catch içine alın.
✕
Kodlama Uyumsuzluğu (Latin-1 vs UTF-8)
Eski sistemler (PHP'nin urlencode'u, klasik ASP) karakterleri Latin-1 baytları olarak kodlardı. Latin-1 olarak kodlanmış bir dize, UTF-8 çözücüsüyle yanlış çözülebilir. Bozuk karakterler görürseniz, legacy unescape() yolunu deneyin veya orijinal kodlamayı belirleyin.
Kod Örnekleri
Popüler dillerde ve ortamlarda URL dizelerini çözme yöntemleri:
JavaScript (browser / Node.js)
// Decode a percent-encoded component
decodeURIComponent('hello%20world%20%26%20more') // → "hello world & more"
// Decode a full URL (leaves structure characters encoded)
decodeURI('https://example.com/path?q=hello%20world') // → "https://example.com/path?q=hello world"
// Parse a query string (handles + as space automatically)
const params = new URLSearchParams('q=hello+world&lang=en')
params.get('q') // → "hello world"
const url = new URL('https://example.com/search?q=hello%20world%20%26%20more')
url.searchParams.get('q') // → "hello world & more"
url.pathname // → "/search"
CLI (bash)
# Decode with Python one-liner
python3 -c "from urllib.parse import unquote; print(unquote('hello%20world'))"
# Decode with Node.js
node -e "console.log(decodeURIComponent('hello%20world%20%26'))"
URL Çözücü vs. alternatifleri
Birçok araç yüzde kodlu dizeleri çözebilir, ancak netlik, gizlilik ve kullanım kolaylığı açısından farklılık gösterirler.
Bu araç
Tarayıcı tabanlı, anlık, gizli. %XX kodlamasını, boşluk olarak +, Unicode ve hatalı biçimlendirilmiş dizileri işler. Hiçbir sunucuya veri gönderilmez.
Tarayıcı adres çubuğu
Tarayıcılar URL'leri görüntülemek için çözer, ancak her zaman tam olarak değil — bazı kodlanmış karakterler adres çubuğunda görünür kalmaya devam edebilir. Bireysel parametre değerlerini incelemek için yararlı değildir.
DevTools / curl -v
Tarayıcı DevTools ve curl, ağ isteklerinde ham ve çözülmüş URL'leri gösterir. Hata ayıklama için yararlıdır, ancak araçlar arasında geçiş yapmayı ve nereye bakacağınızı bilmeyi gerektirir.
Sık Sorulan Sorular
decodeURIComponent ile decodeURI arasındaki fark nedir?
decodeURIComponent, ayrılmış karakterler dahil tüm yüzde kodlanmış dizileri çözer (%2F → /, %3F → ?, vb.). decodeURI yalnızca bir URL'de özel anlamı olan bir karakter üretmeyecek dizileri çözer — %2F, %3F, %23 ve diğer yapısal karakterleri kodlanmış bırakır. Parametre değerleri için decodeURIComponent kullanın; decodeURI'yi yalnızca tam bir URL'niz olduğunda ve yapısını korumak istediğinizde kullanın.
Neden URIError: hatalı biçimlendirilmiş URI görüyorum?
decodeURIComponent'tan gelen bu hata, giriş iki geçerli onaltılık basamakla takip edilmeyen bir % içerdiğinde veya çok baytlı bir UTF-8 dizisi tamamlanmadığında (örn. ardından gelen %82%AC olmadan %E2) oluşur. Çözmeden önce başıboş yüzde işaretlerini kaldırın veya kaçırın.
Çözme + işaretini boşluk olarak ele alır mı?
Hayır — decodeURIComponent, +'yı boşluk değil gerçek bir artı işareti olarak ele alır. + → boşluk kuralı yalnızca application/x-www-form-urlencoded verilerine (HTML form gönderimleri) uygulanır. Form kodlanmış verileri çözmek için URLSearchParams (tarayıcı/Node) veya urllib.parse.unquote_plus (Python) kullanın.
URL çözmeyi istemci tarafında yapmak güvenli midir?
Evet — URL çözme, ağ istekleri olmayan saf bir dönüşümdür. Tüm modern tarayıcılar decodeURIComponent ve decodeURI'yi yerel işlevler olarak içerir. Bu araç, çözmeyi tamamen tarayıcınızda gerçekleştirir; hiçbir veri hiçbir yere gönderilmez.
Birden fazla kez kodlanmış bir URL'yi nasıl çözerim?
Çıktı sabitlenene kadar (daha fazla % dizisi çözülmüyor) birden fazla kez çözün. Bu, zaten kodlanmış bir URL başka bir kodlayıcıdan geçirildiğinde olur. Her çözme geçişi bir kodlama katmanını kaldırır.
%XX ne temsil eder?
% sonrasındaki iki karakter, tek bir bayt değerini (00–FF) temsil eden onaltılık basamaklardır. ASCII karakterler için bu bayt, karakterin ASCII kodudur: %41 = 65 = 'A'. ASCII olmayan karakterler için birden fazla %XX dizisi, karakterin UTF-8 bayt dizisini temsil eder: euro işareti %E2%82%AC'dir (üç bayt: 0xE2, 0x82, 0xAC).
Tarayıcı HTML formlarını gönderirken hangi kodlamayı kullanır?
method=GET olan HTML formları, application/x-www-form-urlencoded kodlamasını kullanarak alanları URL'ye ekler; boşluklar %20 yerine + ile değiştirilir ve diğer özel karakterler yüzde kodlamasıyla işlenir. URL Decode aracının + → boşluk seçeneği bu formatı işler. method=POST ve enctype=application/x-www-form-urlencoded olan formlar istek gövdesinde aynı şemayı kullanır.
Çözme için boyut sınırı var mı?
Sunucu taraflı sınır yok — araç tamamen tarayıcınızda çalışır. Pratik sınırlar tarayıcınızın belleğine bağlıdır. Çok uzun kodlanmış dizeler veya toplu işleme için bir komut dosyasında decodeURIComponent kullanın.