ToolDeck

HTML Küçültücü

Boşlukları ve yorumları kaldırarak HTML'yi küçültün

Örnek dene

HTML Girişi

Küçültülmüş HTML

Yerel olarak çalışır · Gizli bilgi yapıştırmak güvenlidir
Küçültülmüş HTML burada görünecek…

HTML Küçültme Nedir?

HTML küçültme, tarayıcının sayfayı render etme biçimini değiştirmeden bir HTML belgesinin boyutunu azaltma işlemidir. Bir HTML küçültücü, yalnızca geliştirici okunabilirliği için var olan karakterleri kaldırır: etiketler arasındaki boşluklar, yorumlar, isteğe bağlı kapanış etiketleri ve gereksiz öznitelik değerleri. Çıktı işlevsel olarak kaynakla aynıdır ancak bayt boyutu daha küçüktür; bu da kullanıcılar için daha hızlı indirme ve daha kısa ilk boyama süresi (time-to-first-paint) anlamına gelir.

Tarayıcılar HTML'yi bir DOM ağacına ayrıştırır ve bu süreçte çoğu boşluğu atar. İki div etiketi arasındaki boşluk ve satır sonu dizileri render edilen sayfa üzerinde hiçbir görsel etkiye sahip değildir. Yorumlar da ayrıştırıcı tarafından yoksayılır. Küçültme bu kurallardan yararlanarak, ayrıştırıcının zaten atacağı şeyleri kaldırır; böylece bu verinin ağ üzerinden hiç iletilmesi gerekmez.

HTML küçültmeden elde edilen kazanım belgeye göre değişir. Yoğun yorumlu şablonlar, derin girintiye sahip sunucu taraflı render edilmiş sayfalar ve satır içi stiller içeren CMS çıktıları genellikle yalnızca küçültmeyle %15-30 boyut küçülmesi sağlar. Küçük belgeler için mutlak kazanım mütevazı olabilir; ancak yüksek trafikli sitelerde milyonlarca istek genelinde birkaç kilobayt bile gerçek bant genişliği tasarrufu anlamına gelir.

Bu HTML Küçültücüyü Neden Kullanmalısınız?

HTML'nizi yapıştırın ve küçültülmüş çıktıyı anında alın. Yüklenecek derleme aracı yok, yapılandırma dosyası yok, hesap oluşturma yok.

Anlık Sonuçlar
Siz yazarken çıktı görünür. Tam sayfayı ya da tek bir kod parçacığını yapıştırın; CLI komutu veya derleme adımının bitmesini beklemeden küçültülmüş sonucu görün.
🔒
Gizlilik Öncelikli İşleme
Tüm küçültme işlemi JavaScript kullanılarak tarayıcınızda gerçekleşir. HTML'niz cihazınızdan hiç ayrılmaz. Dahili URL'ler, token'lar veya müşteri verisi içeren işaretleme ile güvenle kullanılabilir.
📊
Boyut Raporlama
Orijinal ve küçültülmüş bayt sayılarını yan yana görün. Küçültülmüş sürümü yayına almaya karar vermeden önce tam olarak kaç bayt kazandığınızı bilin.
📋
Tek Tıkla Kopyalama
Küçültülmüş çıktıyı tek tıklamayla panonuza kopyalayın. Dağıtım pipeline'ınıza yapıştırın, bir e-posta şablonuna satır içi ekleyin veya doğrudan commit edin.

HTML Küçültücü Kullanım Senaryoları

Frontend Geliştirme
HTML şablonlarını production ortamına dağıtmadan önce küçültün. Sunucu taraflı render edilmiş sayfaların, statik site üreticisi çıktısının veya tek sayfalık uygulama kabuk dosyalarının yükünü azaltın.
Backend Mühendisliği
Django, Rails veya Laravel gibi sunucu taraflı framework'ler tarafından üretilen HTML yanıtlarından yorumları ve boşlukları istemcilere gönderilmeden önce temizleyin.
DevOps ve CI Pipeline'ları
Derleme pipeline'ınıza bir HTML küçültme adımı ekleyin. Staging veya production ortamına aktarmadan önce küçültmenin ardından çıktının doğru render edildiğini doğrulayın.
QA ve Test
Beklenmedik yapısal değişiklikleri kontrol etmek için iki derlemenin küçültülmüş çıktısını karşılaştırın. Küçültme boşlukları normalleştirir ve yapısal diff'leri daha temiz hale getirir.
E-posta Şablonu Optimizasyonu
E-posta istemcileri HTML e-postalara boyut sınırı uygular (Gmail 102 KB'ın üzerindeki mesajları keser). Tüm içeriği korurken sınırın altında kalmak için e-posta şablonlarını küçültün.
Web Performansını Öğrenme
Öğrenciler HTML yapıştırarak hangi kısımların küçültme sırasında kaldırıldığını görebilir. Bu, hangi karakterlerin tarayıcılar için anlamsal öneme sahip olduğunu ve hangilerinin yalnızca görsel amaçlı olduğunu öğretir.

HTML Küçültme Neleri Kaldırır

Tam özellikli bir HTML küçültücü, boşluk kaldırmanın ötesinde çeşitli dönüşümler uygular. Aşağıdaki tablo en yaygın teknikleri, en güvenliden (her zaman kayıpsız) en agresife (körü körüne uygulandığında uç durumları bozabilecek) doğru sırayla listeler.

TeknikÖnceSonra
Whitespace between tags<div> <p> text </p> </div><div><p>text</p></div>
HTML comments<!-- TODO: fix later -->(removed entirely)
Redundant attribute quotesclass="main"class=main
Boolean attribute valuesdisabled="disabled"disabled
Empty attribute valuesid=""(attribute removed)
Optional closing tags</li>, </td>, </p>(removed when safe)
Type on script/styletype="text/javascript"(removed — default)
Protocol in URLshttps://cdn.example.com//cdn.example.com

Küçültme ve Gzip Sıkıştırma Karşılaştırması

Geliştiriciler zaman zaman sunucu Gzip veya Brotli sıkıştırması zaten uyguluyorken küçültmenin hâlâ gerekli olup olmadığını sorar. Kısa yanıt: evet, ve birlikte en iyi sonucu verirler.

Küçültme
Metin düzeyinde çalışır. Ayrıştırıcının görmezden geldiği karakterleri kaldırır: yorumlar, boşluklar, gereksiz öznitelikler. Herhangi bir sıkıştırma uygulanmadan önce ham dosya boyutunu azaltır. Derleme zamanında bir kez gerçekleşir.
Gzip / Brotli Sıkıştırma
Bayt düzeyinde çalışır. Tekrar eden bayt kalıplarını bulur ve daha kısa referanslarla kodlar. Web sunucusu tarafından her HTTP yanıtına uygulanır. Tarayıcı tarafından alındığında açılır.

Küçültme, Gzip'in işlediği girdiyi azaltır; böylece sıkıştırılmış çıktı da daha küçük olur. Google'ın PageSpeed kılavuzları her ikisinin de uygulanmasını önerir. Tipik bir sayfada küçültme ham boyutun %15-25'ini tasarruf ederken Gzip sonucu %60-80 daha da sıkıştırır. Birlikte, toplam aktarım boyutu orijinal küçültülmemiş ve sıkıştırılmamış belgenin %10-20'sine kadar düşebilir.

Kod Örnekleri

Aşağıda dört ortamda çalışan HTML küçültme örnekleri yer almaktadır. Her örnek yorumları kaldırır ve boşlukları daraltır.

JavaScript (html-minifier-terser)
import { minify } from 'html-minifier-terser'

const html = `
  <div class="card">
    <!-- user profile -->
    <p>  Hello, world!  </p>
  </div>
`

const result = await minify(html, {
  collapseWhitespace: true,
  removeComments: true,
  removeRedundantAttributes: true,
  removeEmptyAttributes: true,
})
// → '<div class="card"><p>Hello, world!</p></div>'
Python (htmlmin)
import htmlmin

html = """
<div class="card">
  <!-- user profile -->
  <p>  Hello, world!  </p>
</div>
"""

result = htmlmin.minify(html, remove_comments=True, remove_empty_space=True)
# → '<div class="card"><p>Hello, world!</p></div>'
Go (tdewolff/minify)
package main

import (
    "fmt"
    "github.com/tdewolff/minify/v2"
    "github.com/tdewolff/minify/v2/html"
)

func main() {
    m := minify.New()
    m.AddFunc("text/html", html.Minify)

    input := `<div class="card">
  <!-- user profile -->
  <p>  Hello, world!  </p>
</div>`

    result, _ := m.String("text/html", input)
    fmt.Println(result)
    // → <div class=card><p>Hello, world!</div>
}
CLI (html-minifier-terser)
# Install globally
npm install -g html-minifier-terser

# Minify a file
html-minifier-terser --collapse-whitespace --remove-comments input.html -o output.html

# Pipe from stdin
cat index.html | html-minifier-terser --collapse-whitespace --remove-comments

# With all common optimizations
html-minifier-terser \
  --collapse-whitespace \
  --remove-comments \
  --remove-redundant-attributes \
  --remove-empty-attributes \
  --minify-css true \
  --minify-js true \
  input.html -o output.min.html

Sıkça Sorulan Sorular

HTML küçültme sayfamı bozabilir mi?
Güvenli küçültme (yorum kaldırma ve boşluk daraltma) tarayıcı render'ını değiştirmez. İsteğe bağlı kapanış etiketlerini kaldırma veya boolean öznitelikleri daraltma gibi agresif seçenekler HTML spesifikasyonunun parçasıdır ve tüm modern tarayıcılarda çalışır. Dikkat edilmesi gereken tek alan, boşluğun anlamlı olduğu pre ve textarea içerikleridir. İyi küçültücüler bu elementlerin içindeki boşlukları korur.
HTML küçültme sonrası ne kadar küçülür?
Tipik tasarruf, kaynağın ne kadar boşluk ve yorum içerdiğine bağlı olarak orijinal dosya boyutunun %10 ile %30'u arasında değişir. Yoğun girintili ve iyi yorumlanmış şablonlar en büyük kazanımı sağlar. Minimal biçimlendirmeyle zaten kompakt olan HTML yalnızca %5-8 küçülebilir.
Zaten Gzip kullanıyorsam HTML'yi küçültmeli miyim?
Evet. Küçültme ve sıkıştırma farklı düzeylerde çalışır. Küçültme gereksiz metin karakterlerini kaldırır; Gzip tekrar eden bayt kalıplarını bulur. Önce küçültmek, Gzip'in daha az veri işlemesi anlamına gelir ve daha küçük sıkıştırılmış çıktı üretir. Google her ikisini de uygulamanızı önerir.
Satır içi JavaScript içeren HTML'yi küçültmek güvenli midir?
Temel boşluk daraltmalı bir küçültücü, script etiketlerinin içindeki içeriği değiştirmez. --minify-js seçeneğine sahip küçültücüler satır içi JavaScript'i de bir JS küçültücüsü kullanarak sıkıştırır. Satır içi scriptleriniz önemli boşluğa bağlıysa (nadir görülür), çıktıyı test edin. Çoğu satır içi script küçültme sonrasında sorunsuz çalışır.
HTML küçültme ve HTML sıkıştırma arasındaki fark nedir?
Küçültme, gereksiz karakterleri kaldıran derleme zamanı metin dönüşümüdür. Sıkıştırma (Gzip, Brotli) ise HTTP yanıtını küçülten sunucu zamanı ikili kodlamadır. Küçültme geri döndürülemez (yorumlar silinir), sıkıştırma ise tarayıcı tarafından alındığında geri açılır.
Küçültme SEO'yu etkiler mi?
Hayır. Arama motoru tarayıcıları DOM'u tıpkı tarayıcılar gibi ayrıştırır. Boşlukları ve yorumları görmezden gelirler. Küçültme DOM yapısını değiştirmediğinden, arama motorlarının sayfanızı dizine ekleme biçimini etkilemez. Daha küçük HTML'den kaynaklanan daha hızlı sayfa yükleme süreleri, Core Web Vitals sinyalleri aracılığıyla dolaylı olarak sıralamaları iyileştirebilir.
HTML küçültme, CSS veya JavaScript küçültmeyle nasıl karşılaştırılır?
CSS ve JavaScript küçültücüleri değişkenleri yeniden adlandırır, ölü kodu kaldırır ve bu dillere özgü optimizasyonlar uygular. HTML küçültücüler daha basittir; çünkü HTML'de optimize edilecek değişken veya çalıştırılabilir mantık yoktur. HTML küçültme boşluk, yorum ve gereksiz öznitelik sözdizimine odaklanır.