Nén ảnh online, chủ động dung lượng đầu ra

Ảnh quá lớn để gửi email hoặc đăng lên website? Chọn chất lượng nén hoặc đặt giới hạn KB/MB cho từng ảnh để KitoTool tìm mức nén phù hợp. So sánh dung lượng và chất lượng ảnh trước–sau, sau đó tải từng ảnh hoặc tải nhiều ảnh cùng lúc.

Nén và so sánh ảnh

Xử lý ảnh trên thiết bị

Nội dung ảnh được nén trong trình duyệt · Ảnh gốc không thay đổi

Hoặc kéo thả ảnh vào đây

Tối đa 30 ảnh mỗi lượt · JPEG, PNG, WebP, GIF hoặc SVG
Thử ảnh mẫu:

Cách nén ảnh trên KitoTool

01

Chọn ảnh từ thiết bị

Bấm Chọn Nhiều Ảnh hoặc kéo thả tối đa 30 ảnh JPG/JPEG, PNG, WebP, GIF hoặc SVG. Ảnh được xử lý trên thiết bị để nén.

Chọn cách nén phù hợp

Bạn cần gì?Chọn trong công cụKiểm tra kết quả
Ảnh dưới giới hạn KB/MB Theo dung lượng → nhập giới hạn cho mỗi ảnh. Đọc trạng thái đạt/chưa đạt; giới hạn quá thấp có thể không đạt được.
Ảnh chụp hoặc ảnh website nhẹ hơn Theo chất lượng → thử mức mặc định, giữ định dạng hoặc chọn WebP nếu nơi đăng hỗ trợ. So sánh khuôn mặt, chữ nhỏ và dung lượng; WebP không luôn là bản nhỏ nhất.
Logo hoặc nền trong suốt Giữ PNG/WebP hoặc chọn một trong hai định dạng này. Kiểm tra viền và màu. JPG thay vùng trong suốt bằng nền trắng.
GIF cần giữ chuyển động Giữ định dạng gốc → chỉnh số màu 2–256 khi dùng Theo chất lượng. Xem chuyển động và màu; xuất WebP/PNG/JPG từ GIF tạo ảnh tĩnh.
Ảnh phải đúng chiều rộng, chiều cao Thay đổi kích thước ảnh trước, rồi quay lại nén nếu cần. Nén giữ kích thước pixel; kiểm tra riêng yêu cầu pixel và dung lượng.

SVG được xuất thành ảnh WebP tĩnh ở chế độ mặc định. APNG và WebP động chưa được bảo toàn chuyển động; hãy giữ bản gốc nếu bạn cần ảnh động. Nếu chỉ cần đổi định dạng, dùng Chuyển đổi định dạng ảnh.

Đặt giới hạn KB/MB, không phải dò từng mức nén

Cần ảnh dưới 100 KB, 200 KB hoặc 1 MB? Chọn Theo dung lượng và nhập giới hạn cho mỗi ảnh. KitoTool thử nhiều mức, ưu tiên mức chất lượng cao hơn tìm được trong giới hạn.

Kết quả có thể nhỏ hơn mức nhập. Ảnh gốc đã đạt có thể được giữ nguyên khi giữ định dạng; nếu không đạt, xem thông báo và cách xử lý bên dưới.

Giảm dung lượng mà vẫn ưu tiên độ rõ

Chất lượng 80% không có nghĩa dung lượng giảm 80%. So sánh ảnh gốc và kết quả ở kích thước sử dụng; tăng mức nếu chữ, tóc hoặc vùng chuyển màu kém rõ. Đừng hạ chất lượng chỉ để giảm thêm vài KB.

JPG/WebP có thể mất chi tiết; PNG 100% giữ màu, mức thấp hơn có thể làm gradient kém mượt. Nếu ảnh lớn hơn kích thước cần hiển thị, hãy resize trước.

Nén nhiều ảnh? Kiểm tra ảnh nhiều chi tiết, có chữ hoặc nền trong suốt trước khi tải ZIP.

Nếu ảnh vẫn quá lớn hoặc nén chưa thành công

Chưa đạt mục tiêu
Tăng giới hạn nếu nơi nhận cho phép, thử định dạng khác được chấp nhận hoặc resize từ ảnh gốc rồi nén lại.
Dung lượng giảm ít hoặc giữ nguyên
Ảnh có thể đã được tối ưu. Khi giữ cùng định dạng, công cụ giữ ảnh gốc nếu bản mới không nhỏ hơn. Chỉ đổi định dạng khi nơi nhận hỗ trợ và so sánh lại kết quả.
Ảnh đạt KB/MB nhưng nơi nhận vẫn từ chối
Kiểm tra định dạng, số pixel và thông báo tại nơi nhận. Nếu giới hạn tính byte khác nhau, thử mục tiêu thấp hơn một chút rồi gửi lại.
Tab chậm, báo lỗi hoặc không nén được GIF
Thử ít ảnh hơn mỗi lượt và đóng bớt tab. Nếu trình duyệt chưa hỗ trợ nén GIF động, công cụ có thể giữ GIF gốc; kiểm tra thông báo trước khi tải.

Ảnh được nén trên thiết bị của bạn

Ảnh được nén trong trình duyệt, không tải nội dung ảnh lên máy chủ KitoTool để xử lý. File gốc không bị sửa. Với ảnh lớn hoặc nhiều ảnh, hãy chia nhỏ lượt nếu tab chậm. Website có thể sử dụng cookie và thống kê truy cập.

GIẢI ĐÁP THẮC MẮC

Câu hỏi thường gặp về Nén Ảnh

Giải đáp nhanh các câu hỏi phổ biến về Nén Ảnh và cách sử dụng công cụ hiệu quả.

Cần hỗ trợ thêm?

Liên hệ KitoTool khi cần hỗ trợ.

Gửi câu hỏi
Nén ảnh có xóa hết EXIF/GPS không?

Không bảo đảm. Bản mã hóa mới thường không sao chép metadata nguồn, nhưng ảnh gốc được giữ lại vẫn có thể chứa EXIF/GPS. Nếu cần xóa vị trí trước khi chia sẻ, hãy kiểm tra bằng công cụ metadata riêng.

Có nhận ảnh HEIC từ iPhone không?

Đầu vào hiện tại gồm JPG/JPEG, PNG, WebP, GIF và SVG. Với HEIC, hãy xuất hoặc chuyển ảnh sang một định dạng được nhận trước khi chọn file; đổi phần đuôi tên file không chuyển được định dạng.

Có cần nén lại ảnh nhiều lần không?

Nên thay đổi thiết lập từ ảnh gốc đang mở trong công cụ, thay vì lấy bản đã nén rồi nén tiếp. Như vậy bạn dễ so sánh và tránh tích lũy mất chi tiết qua nhiều lần lưu.

HỖ TRỢ & HỢP TÁC

Bạn có thể ủng hộ dự án hoặc liên hệ để hợp tác quảng cáo.

QUẢNG CÁO

Bình luận & góp ý

Đánh giá

Đang tải đánh giá…

Viết bình luậnKhông cần đăng nhập

Không chia sẻ mật khẩu, thông tin nhạy cảm hoặc nội dung tệp đang xử lý.

Duyệt trước khi đăng. Email không công khai.

Nhúng công cụ này vào website của bạnMiễn phí · Sao chép một lần, công cụ tự cập nhật

Dán iframe vào HTML, WordPress hoặc nền tảng hỗ trợ nhúng. Công cụ chạy trong trình duyệt người dùng; bạn có thể chỉnh chiều cao và giao diện.

Xem hướng dẫn nhúng công cụ và các nền tảng hỗ trợ →

<div style="max-width:900px">
  <iframe data-kitotool-embed src="https://kitotool.com/embed/vi/image-compressor/" title="Nén ảnh — KitoTool" width="100%" height="1400" style="display:block;width:100%;border:1px solid #dbe3ee;border-radius:12px" loading="lazy" referrerpolicy="strict-origin-when-cross-origin"></iframe>
  <p style="margin:6px 2px 0;text-align:right;font:12px/1.5 system-ui,sans-serif;color:#64748b">Công cụ miễn phí bởi <a href="https://kitotool.com/vi/nen-anh/" target="_blank" rel="nofollow noopener noreferrer" style="color:#2359d4;text-decoration:underline">KitoTool</a></p>
</div>

Mã có dòng ghi nguồn hiển thị dưới iframe; liên kết được đánh dấu nofollow theo hướng dẫn cho widget phân phối rộng.

Tùy chọn: tự điều chỉnh chiều cao iframe

Thêm đoạn mã này một lần trên trang chứa iframe.

<script>
(function(){var origin="https://kitotool.com";function frames(){return document.querySelectorAll("iframe[data-kitotool-embed]")}function measure(f){if(f.contentWindow&&new URL(f.src).origin===origin)f.contentWindow.postMessage({type:"kitotool:measure"},origin)}window.addEventListener("message",function(e){if(e.origin!==origin||!e.data||e.data.type!=="kitotool:resize"||!Number.isFinite(e.data.height))return;frames().forEach(function(f){if(f.contentWindow===e.source&&new URL(f.src).origin===origin)f.style.height=Math.max(320,Math.min(12000,Math.ceil(e.data.height)))+"px";});});function connect(){frames().forEach(function(f){f.addEventListener("load",function(){measure(f)});measure(f)})}if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",connect,{once:true});else connect()})();
</script>