Yerleşik URL Ayrıştırıcılı URL Kodlayıcı ve Çözücü
URL'leri yerleşik URL ayrıştırıcısı ile gerçek zamanlı kodlayın veya çözün. İkili mod: encodeURI ve encodeURIComponent. %100 gizli, hiçbir veri sunucuya gönderilmez.
URL Kodlama (Yüzde Kodlama) Nedir?
Resmi adıyla yüzde kodlama olan URL kodlama, RFC 3986'da tanımlanan ve bir Uniform Resource Identifier (URI) içinde izin verilmeyen ya da özel anlam taşıyan karakterleri temsil etmek için kullanılan bir mekanizmadır. Her güvenli olmayan baytı, yüzde işaretinin (%) ardından iki onaltılık rakamla değiştirir — örneğin boşluk %20, ampersand %26 olur ve Çince 中 karakteri %E4%B8%AD olur (üç UTF-8 baytı, her biri yüzde kodlu).
URL'ler yalnızca ASCII karakter kümesinden sınırlı bir karakter alt kümesini içerebilir. Harfler, rakamlar ve birkaç sembol (- _ . ~) “ayrılmamış” sayılır ve olduğu gibi yer alabilir. Boşluklar, noktalama işaretleri ve tüm Unicode aralığı dahil diğer her karakter, bir URL içinde güvenle iletilebilmek için yüzde kodlu olmalıdır. ?, &, =, # gibi ayrılmış karakterler URL sözdiziminde yapısal ayırıcılardır; bu nedenle ayırıcı yerine düz veri olarak kullanıldıklarında kodlanmaları gerekir.
Yüzde kodlama web genelinde temeldir: tarayıcılar form gönderimlerini kodlar, API'ler kodlanmış sorgu parametreleri gerektirir, OAuth akışları doğru kodlanmış yönlendirme URI'lerine bağlıdır ve uluslararasılaştırılmış alan adları ASCII dışı karakterler için kodlamaya dayanır. Kodlamayı yanlış yapmak bozuk bağlantılara, güvenlik açıklarına (açık yönlendirme saldırıları gibi) ve veri bozulmasına yol açar.
Bu araç hem encodeURI hem de encodeURIComponent modlarını, yerleşik bir URL yapı ayrıştırıcısını, gerçek zamanlı dönüşümü ve çift kodlama algılamayı sunar — hepsi tarayıcınızda gizli olarak çalışır.
URL kodlama genellikle diğer web geliştirme araçlarıyla birlikte kullanılır. Bir URL'yi bir JWT belirtecine veya API yüküne gömmek için Base64 ile kodlamanız ya da yapısını incelemek için URL dizeleri içeren JSON verilerini biçimlendirmeniz gerekebilir. Yüzde kodlamanın bayt düzeyinde nasıl çalıştığına dair daha derinlemesine bir anlatım için geliştiriciler için kapsamlı URL kodlama rehberimizi okuyun.
// Encode a query parameter value
const param = encodeURIComponent('hello world & goodbye');
console.log(param); // → 'hello%20world%20%26%20goodbye'
// Encode a full URL (preserves structure)
const url = encodeURI('https://example.com/path name?q=hello world');
console.log(url); // → 'https://example.com/path%20name?q=hello%20world'
// Decode a percent-encoded string
const decoded = decodeURIComponent('hello%20world%20%26%20goodbye');
console.log(decoded); // → 'hello world & goodbye'
// Build a URL with encoded parameters
const base = 'https://api.example.com/search';
const query = `?q=${encodeURIComponent('你好')}&lang=zh`;
console.log(base + query); // → 'https://api.example.com/search?q=%E4%BD%A0%E5%A5%BD&lang=zh' Temel Özellikler
İkili Kodlama Modları
Kullanım durumunuza tam uyacak şekilde encodeURI (URL yapısını korur) ve encodeURIComponent (parametre değerleri için her şeyi kodlar) arasında geçiş yapın.
Yerleşik URL Ayrıştırıcısı
Her URL'yi protokol, ana bilgisayar, port, yol, sorgu parametreleri ve fragment olarak otomatik ayırır — her alan düzenlenebilir ve yeni bir URL'ye yeniden inşa edilebilir.
Gerçek Zamanlı Dönüşüm
Yazdıkça anında kodlayın ve çözün — tıklanacak düğme yok; sonuçlar her tuş vuruşunda diğer alanda hemen görünür.
%100 Tarayıcıda
Tüm işlemler yerel JavaScript API'leri kullanılarak tarayıcınızda yerel olarak gerçekleşir. Veriniz cihazınızdan asla çıkmaz — sunucuya yükleme yok, izleme yok.
Tam UTF-8 Desteği
Çince, Japonca, Korece, Arapça, emoji ve her türlü Unicode metni doğru UTF-8 bayt kodlama ve çözmesiyle hatasız işler.
Çift Kodlama Algılama
%2520 (yüzde kodlu bir %20) gibi çift kodlama sorunlarını otomatik algılar ve uyarır; en yaygın URL kodlama hatalarından birinden kaçınmanıza yardımcı olur.
Örnekler
Bozuk URL'yi Çöz
https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world%26lang%3Den
https://example.com/search?q=hello world&lang=en
Tamamen yüzde kodlu bir URL, insan tarafından okunabilir biçimine geri çözülür ve özgün sorgu parametreleri ile yapı ortaya çıkar
Çince Karakterler
https://example.com/search?q=你好世界
https://example.com/search?q=%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C
Çince karakterler UTF-8 bayt dizilerine dönüştürülür ve yüzde kodlu hâle getirilir
Sorgu Parametreleri
https://example.com/api?name=John Doe&role=admin&lang=en&sort=date desc
https://example.com/api?name=John%20Doe&role=admin&lang=en&sort=date%20desc
Sorgu parametre değerlerindeki boşluklar ve özel karakterler, URL yapısı korunarak yüzde kodlu hâle getirilir
Tam URL
https://user:pass@example.com:8080/path/to/page?key=value&arr[]=1#section-2
https://user:pass@example.com:8080/path/to/page?key=value&arr%5B%5D=1#section-2
Kimlik bilgileri, port, yol, köşeli parantezli sorgu parametreleri ve fragment tanımlayıcısı içeren eksiksiz bir URL
OAuth Yönlendirme URI'si
https://auth.example.com/authorize?redirect_uri=https://myapp.com/callback?code=abc&state=xyz
https://auth.example.com/authorize?redirect_uri=https%3A%2F%2Fmyapp.com%2Fcallback%3Fcode%3Dabc%26state%3Dxyz
redirect_uri değerinin kendisi, özel karakterleri dış URL'nin parçası olarak yorumlanmasın diye kodlanması gereken tam bir URL içerir
Nasıl Kullanılır
- 1
URL veya Kodlu Dize Girin
Kodlamak için çözülmüş alana bir URL yapıştırın veya çözmek için kodlu alana yüzde kodlu bir dize yapıştırın. Kullanım durumunuza göre encodeURI veya encodeURIComponent modunu seçin.
- 2
Sonuçları ve Ayrıştırılan Yapıyı Görün
Siz yazdıkça diğer alan anında güncellenir. URL ayrıştırıcısı URL'yi protokol, ana bilgisayar, port, yol, sorgu parametreleri ve fragment olarak ayırır — hepsi düzenlenebilir.
- 3
Kopyala veya Yeniden Oluştur
Kodlanmış veya çözülmüş sonucu kopyalamak için Kopyala düğmesine tıklayın. URL bileşenlerini tek tek düzenleyin ve değiştirilen parçalardan yeni bir URL inşa etmek için Yeniden Oluştur düğmesine tıklayın.
Yaygın Hatalar
Çift Kodlama (%20 yerine %2520)
Çift kodlama, hâlihazırda kodlanmış bir URL'nin tekrar kodlanmasıyla oluşur. %20 içindeki % işareti %25 olarak kodlanır ve %20, %2520'ye dönüşür. Bu URL'yi bozar; çünkü sunucu bir boşluk yerine düz bir %20 dizesi görür.
https://example.com/path%2520with%2520spaces
https://example.com/path%20with%20spaces
Yol Parçalarında Boşluğun + Olarak Kodlanması
+ karakteri yalnızca application/x-www-form-urlencoded biçiminde (HTML formlarından gelen sorgu dizelerinde) boşluğu temsil eder. URL yol parçalarında + boşluk değil, düz bir artı işareti olarak yorumlanır. Yol parçalarındaki boşluklar için her zaman %20 kullanın.
https://example.com/my+file+name.pdf
https://example.com/my%20file%20name.pdf
Sorgu Parametre Değerlerinde encodeURI Kullanma
encodeURI(), &, = ve diğer ayrılmış karakterleri kodlamaz; bu nedenle bu karakterleri içeren bir parametre değerinde kullanılması sorgu dizesi yapısını bozar.
encodeURI('key=value&more') → 'key=value&more' (& not encoded!) encodeURIComponent('key=value&more') → 'key%3Dvalue%26more' UTF-8 Olmayan Kodlama Varsaymak
Bazı eski sistemler URL parametreleri için Latin-1 veya Shift-JIS gibi kodlamalar kullanır. Modern standartlar UTF-8 gerektirir. Shift-JIS kodlu bir parametreyi UTF-8 çözücüyle çözmek bozuk metin üretir.
Decoding %82%B1%82%F1 as UTF-8 (this is Shift-JIS for こん)
Using UTF-8: %E3%81%93%E3%82%93 correctly decodes to こん
Bağlam Olmadan Göreli Yolları Kodlamak
../images/photo.jpg gibi göreli bir yolu encodeURIComponent ile kodlamak, eğik çizgileri ve noktaları yüzde kodlu dizilere dönüştürerek yol yapısını bozar. encodeURI() kullanın veya yalnızca tek tek yol parçalarını kodlayın.
encodeURIComponent('../images/photo.jpg') → '..%2Fimages%2Fphoto.jpg' Encode each segment: '../images/' + encodeURIComponent('my photo.jpg') Yaygın Kullanım Senaryoları
- Bozuk URL'lerde Hata Ayıklama
- Sunucu günlüklerinden, hata mesajlarından veya tarayıcı geliştirici araçlarından gelen yüzde kodlu URL'leri çözerek özgün, insan tarafından okunabilir metni okuyun.
- API Geliştirme
- REST API çağrıları için sorgu parametre değerlerini kodlayın; &, = ve boşluk gibi özel karakterlerin istek URL'sini bozmamasını sağlayın.
- OAuth Akışı Kurulumu
- Kimlik doğrulama hatalarını önlemek için OAuth yetkilendirme URL'lerinde redirect_uri ve diğer URL parametrelerini doğru biçimde kodlayın.
- Uluslararası URL'ler
- Uluslararasılaştırılmış web uygulamaları için Çince, Japonca, Korece, Arapça veya diğer ASCII dışı karakterler içeren URL'leri kodlayın ve çözün.
- Pazarlama Bağlantısı Çözümlemesi
- E-posta kampanyaları ve reklam platformlarındaki izleme URL'lerini çözerek gömülü UTM parametrelerini ve yönlendirme zincirlerini anlayın.
- URL Yapısı İncelemesi
- Karmaşık URL'leri bileşen parçalarına — protokol, ana bilgisayar, port, yol, sorgu parametreleri ve fragment — ayırarak çözümleyin ve değiştirin.
Teknik Ayrıntılar
- RFC 3986 Ayrılmış ve Ayrılmamış Karakterler
- RFC 3986, hiçbir zaman kodlama gerektirmeyen ayrılmamış karakterleri (A-Z, a-z, 0-9, -, ., _, ~) ve URI ayırıcı görevi gören, veri olarak kullanıldıklarında yüzde kodlanması gereken ayrılmış karakterleri (:, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, =) tanımlar.
- UTF-8 Bayt Kodlama Akışı
- ASCII dışı karakterler önce Unicode kod noktasına dönüştürülür, ardından UTF-8 baytları olarak (kod noktası aralığına göre 1-4 bayt) kodlanır ve son olarak her bayt %XX olarak yüzde kodlanır. Örneğin: é (U+00E9) → UTF-8 baytları C3 A9 → %C3%A9. 🎉 emojisi (U+1F389) → UTF-8 baytları F0 9F 8E 89 → %F0%9F%8E%89.
- URL ile URI Terminolojisi
- URI (Uniform Resource Identifier), her tanımlayıcı dize için genel terimdir. URL (Uniform Resource Locator), ayrıca erişim mekanizmasını (https:// gibi) belirten bir URI'dir. RFC 3986'daki kodlama kuralları tüm URI'ler için geçerlidir. JavaScript API'si URI terminolojisini kullanır (encodeURI, decodeURI); günlük kullanım ise URL'yi tercih eder.
En İyi Uygulamalar
- İş İçin Doğru Modu Seçin
- Tek tek sorgu parametre anahtarları ve değerleri için encodeURIComponent() kullanın. encodeURI() yalnızca elinizde tam bir URL varken ve yapısını bozmadan güvenli olmayan karakterleri kodlamak istediğinizde kullanın. & veya = ya da diğer ayrılmış karakterleri içerebilecek parametre değerlerinde encodeURI() kullanmayın.
- Çift Kodlamadan Kaçının
- Bir dizeyi kodlamadan önce zaten kodlu olup olmadığını kontrol edin. Mevcut % dizilerini arayın. Hâlihazırda kodlu bir dizeyi kodlamak %20'yi %2520'ye, %3D'yi %253D'ye ve benzerine çevirir. Emin değilseniz önce çözün, sonra bir kez kodlayın.
- Sunucu Tarafında Çözün
- Çoğu web çatısı, URL parametrelerini uygulama kodunuz görmeden önce otomatik olarak çözer. Çatınızın çoktan çözdüğü parametreleri elle yeniden çözmekten kaçının — özgün değer düz yüzde dizileri içeriyorsa bu sorunlara yol açabilir.
- OAuth ve API İmzalama için Değerleri Kodlayın
- OAuth 1.0 imza temel dizeleri ve birçok API imzalama algoritması katı RFC 3986 yüzde kodlaması gerektirir. encodeURIComponent() kullanın; ardından spesifikasyon gerektiriyorsa kodlanmamış kalan karakterleri (!, ', (, ), * gibi) yüzde kodlu eşdeğerleriyle değiştirin.
Sık Sorulan Sorular
URL kodlama nedir ve neden gereklidir?
encodeURI ile encodeURIComponent arasındaki fark nedir?
URL kodlama, HTML kodlama ile aynı mıdır?
URL'mi bir curl komutunda kullandığımda neden bozuluyor?
Çince karakterler URL'lerde neden %E4%B8%AD gibi dizilere dönüşüyor?
OAuth redirect_uri parametresini kodlamalı mıyım?
Node.js querystring ile URLSearchParams arasındaki fark nedir?
Python, JavaScript ve Java'da bir URL'yi nasıl kodlarım?
URL kodlama tarafından kodlanmayan karakterler hangileridir?
Boşlukları kodlamak için + ile %20 arasındaki fark nedir?
URL kodlama emojileri nasıl işler?
URL kodlama şifreleme veya güvenlik için kullanılabilir mi?
Bir URL'nin azami uzunluğu nedir?
URL ile URI arasındaki fark nedir?
İlgili Araçlar
Tüm araçları görüntüleyin →Base64 Çözücü ve Kodlayıcı
Kodlama ve Biçimlendirme
Base64'ü ücretsiz çevrimiçi kodlayın ve çözün. Tam UTF-8 ve emoji desteğiyle gerçek zamanlı dönüştürme. %100 tarayıcıda — kayıt gerekmez.
JSON Biçimlendirici ve Doğrulayıcı
Kodlama ve Biçimlendirme
JSON'u tarayıcınızda anında biçimlendirin, doğrulayın ve güzelleştirin. Sözdizimi denetimi, hata tespiti, sıkıştırma ve tek tıkla kopyalama. %100 gizli.
Sayı Tabanı Dönüştürücü — Binary, Hex, Decimal ve Octal
Dönüştürme Araçları
Binary, hex, decimal, octal ve herhangi bir taban (2-36) arasında anında dönüştürün. Ücretsiz ve gizli — tüm işlem tarayıcınızda yapılır.
Resimleri Çevrimiçi Sıkıştırın — JPEG, PNG ve WebP
Dönüştürme Araçları
JPEG, PNG ve WebP'yi %80'e kadar küçültün — tarayıcınızda, yükleme yok. 20 resim toplu, kalite ayarı, öncesi/sonrası karşılaştırma. Ücretsiz ve gizli.
JWT Çözücü
Güvenlik Araçları
Ücretsiz JWT çözücümüzle JWT token'larını online çözün. header, payload, signature, son kullanma, algoritma ve claim'leri anında inceleyin. %100 tarayıcıda çalışır — token'ınız cihazınızdan ayrılmaz. Kayıt yok, izleme yok.
Uzunluk Dönüştürücü — Metrik, İmperyal ve Daha Fazlası
Dönüştürme Araçları
16 uzunluk birimini anında dönüştürün — metrik, imperyal, denizcilik ve astronomik. 1 inç = 2,54 cm. Ücretsiz, gizli, tarayıcınızda çalışır.