Eco Jersey Manufacturing Tool

Custom Apparel Size Chart Generator

Generate editable size charts for custom apparel production based on market, gender, product category, fit type, garment/body measurement style, size range, grading, shrinkage allowance, and production tolerance.

Build Your Size Chart

Advanced Apparel Fit Tool

Garment charts are best for tech packs. Body reference helps buyers understand fit.

Base measurements are applied to this size, then graded up/down.

Measurement Setup

Editable Base & Grading
Select the measurements you want in the chart. You can edit the base value and grading per size before generating the final table.
UseMeasurementBase ValueGrade / SizeType
Size Range
Measurements
Chart Mode
Tolerance
Size charts are planning references. Final production measurements should be confirmed through sample approval, fabric testing, shrinkage checking, grading review, and buyer confirmation before bulk manufacturing.
Request Quotation Chat on WhatsApp
';const blob = new Blob([excelContent], { type: "application/vnd.ms-excel;charset=utf-8;" });const link = document.createElement("a"); link.href = URL.createObjectURL(blob); link.download = "eco-jersey-custom-size-chart.xls"; document.body.appendChild(link); link.click(); document.body.removeChild(link); }function loadJsPdf(callback) { if (window.jspdf && window.jspdf.jsPDF) { callback(); return; }const script = document.createElement("script"); script.src = "https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"; script.onload = callback; script.onerror = function () { alert("PDF library could not load. Please use CSV, Excel, or Print."); };document.head.appendChild(script); }function downloadPdf() { const table = $("ejScChartTable");if (!table || !table.rows.length) { alert("Please generate a size chart first."); return; }loadJsPdf(function () { const jsPDF = window.jspdf.jsPDF; const doc = new jsPDF({ orientation: "landscape" });const margin = 12; let y = 14; const pageWidth = doc.internal.pageSize.getWidth();doc.setFont("helvetica", "bold"); doc.setFontSize(14); doc.text("Eco Jersey Custom Apparel Size Chart", margin, y);y += 8; doc.setDrawColor(140, 187, 102); doc.line(margin, y, pageWidth - margin, y);y += 8; doc.setFont("helvetica", "normal"); doc.setFontSize(8);const summaryLines = doc.splitTextToSize($("ejScSummary").value, pageWidth - margin * 2);summaryLines.forEach(function (line) { if (y > 185) { doc.addPage(); y = 14; }doc.text(line, margin, y); y += 4; });y += 6; doc.setFont("helvetica", "bold"); doc.text("Generated Size Chart", margin, y); y += 6;doc.setFont("helvetica", "normal");const rows = Array.from(table.rows).map(function (row) { return Array.from(row.cells).map(function (cell) { return cell.innerText; }).join(" | "); });rows.forEach(function (line) { const wrapped = doc.splitTextToSize(line, pageWidth - margin * 2);wrapped.forEach(function (part) { if (y > 190) { doc.addPage(); y = 14; }doc.text(part, margin, y); y += 4; }); });doc.save("eco-jersey-custom-size-chart.pdf"); }); }function resetTool() { $("ejScMarket").value = "usa"; $("ejScGender").value = "men"; $("ejScCategory").value = "sportswear"; $("ejScFit").value = "regular"; $("ejScChartMode").value = "garment"; $("ejScUnit").value = "cm"; $("ejScGradeType").value = "standard"; $("ejScShrinkage").value = "3"; $("ejScShrinkMode").value = "yes"; $("ejScTolerance").value = "1"; $("ejScTitle").value = "Custom Apparel Size Chart"; $("ejScNotes").value = ""; $("ejScResult").style.display = "none";loadProducts(); loadSizes(); renderMeasurementRows(); clearError(); }on("ejScMarket", "change", renderMeasurementRows); on("ejScGender", "change", function () { loadSizes(); renderMeasurementRows(); }); on("ejScCategory", "change", function () { loadProducts(); renderMeasurementRows(); }); on("ejScProduct", "change", renderMeasurementRows); on("ejScFit", "change", renderMeasurementRows); on("ejScUnit", "change", renderMeasurementRows); on("ejScGradeType", "change", renderMeasurementRows); on("ejScLoadDefaults", "click", renderMeasurementRows); on("ejScGenerate", "click", generateSizeChart); on("ejScReset", "click", resetTool); on("ejScCopy", "click", copyChart); on("ejScCsv", "click", downloadCsv); on("ejScExcel", "click", downloadExcel); on("ejScPdf", "click", downloadPdf); on("ejScPrint", "click", function () { window.print(); });root.addEventListener("keydown", function (event) { if (event.key === "Enter" && event.target.tagName !== "TEXTAREA") { event.preventDefault(); generateSizeChart(); } });resetTool(); }if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", initEjAdvancedSizeChartTool); } else { initEjAdvancedSizeChartTool(); } })();