{"id":9573,"date":"2026-07-27T14:34:23","date_gmt":"2026-07-27T14:34:23","guid":{"rendered":"https:\/\/tradegoai.app\/?post_type=tools&#038;p=9573"},"modified":"2026-07-27T14:35:45","modified_gmt":"2026-07-27T14:35:45","slug":"nettoyeur-listes-prospects","status":"publish","type":"tools","link":"https:\/\/tradegoai.app\/fr\/tools\/lead-list-cleaner\/","title":{"rendered":"Outil de nettoyage de listes de prospects"},"content":{"rendered":"\t<section\n\t\tid=\"tga-lead-cleaner-1\"\n\t\tclass=\"tga-lead-cleaner-tool\"\n\t\taria-labelledby=\"tga-lead-cleaner-1-title\"\n\t>\n\t\t<style>\n\t\t\t#tga-lead-cleaner-1 {\n\t\t\t\t--tga-navy: #0f1831;\n\t\t\t\t--tga-purple: #6528f7;\n\t\t\t\t--tga-purple-dark: #501bd8;\n\t\t\t\t--tga-lilac: #f2efff;\n\t\t\t\t--tga-line: #e2e8f0;\n\t\t\t\t--tga-muted: #64748b;\n\t\t\t\t--tga-white: #fff;\n\t\t\t\tmax-width: 1180px;\n\t\t\t\tmargin: 44px auto 72px;\n\t\t\t\tpadding: 0 22px;\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t\tfont-family: inherit;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 * { box-sizing: border-box; }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-hero {\n\t\t\t\tposition: relative;\n\t\t\t\toverflow: hidden;\n\t\t\t\tpadding: 46px 48px;\n\t\t\t\tborder-radius: 22px;\n\t\t\t\tcolor: var(--tga-white);\n\t\t\t\tbackground: radial-gradient(circle at 88% 18%, rgba(101, 40, 247, .78), transparent 34%), linear-gradient(135deg, #081127 0%, #131d42 100%);\n\t\t\t\tbox-shadow: 0 20px 55px rgba(15, 23, 42, .16);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-hero::after {\n\t\t\t\tcontent: \"\u2713\";\n\t\t\t\tposition: absolute;\n\t\t\t\tright: 34px;\n\t\t\t\ttop: -35px;\n\t\t\t\tcolor: rgba(255, 255, 255, .08);\n\t\t\t\tfont-size: 220px;\n\t\t\t\tfont-weight: 800;\n\t\t\t\tline-height: 1;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-eyebrow {\n\t\t\t\tposition: relative;\n\t\t\t\tz-index: 1;\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin-bottom: 12px;\n\t\t\t\tcolor: #cbbcff;\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-weight: 800;\n\t\t\t\tletter-spacing: .12em;\n\t\t\t\ttext-transform: uppercase;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-hero h1 {\n\t\t\t\tposition: relative;\n\t\t\t\tz-index: 1;\n\t\t\t\tmax-width: 820px;\n\t\t\t\tmargin: 0;\n\t\t\t\tcolor: var(--tga-white);\n\t\t\t\tfont-size: clamp(38px, 6vw, 64px);\n\t\t\t\tline-height: 1.08;\n\t\t\t\tletter-spacing: -.035em;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-hero p {\n\t\t\t\tposition: relative;\n\t\t\t\tz-index: 1;\n\t\t\t\tmax-width: 790px;\n\t\t\t\tmargin: 20px 0 0;\n\t\t\t\tcolor: #dce4ff;\n\t\t\t\tfont-size: 18px;\n\t\t\t\tline-height: 1.65;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-workspace {\n\t\t\t\tdisplay: grid;\n\t\t\t\tgap: 24px;\n\t\t\t\tmargin-top: 24px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-panel,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-section {\n\t\t\t\tpadding: 26px;\n\t\t\t\tborder: 1px solid var(--tga-line);\n\t\t\t\tborder-radius: 18px;\n\t\t\t\tbackground: var(--tga-white);\n\t\t\t\tbox-shadow: 0 12px 34px rgba(15, 23, 42, .07);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-panel-title {\n\t\t\t\tmargin: 0 0 6px;\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t\tfont-size: 20px;\n\t\t\t\tline-height: 1.3;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-panel-copy,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-section-intro {\n\t\t\t\tmargin: 0 0 20px;\n\t\t\t\tcolor: var(--tga-muted);\n\t\t\t\tfont-size: 14px;\n\t\t\t\tline-height: 1.65;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-input-grid {\n\t\t\t\tdisplay: grid;\n\t\t\t\tgrid-template-columns: minmax(0, 1.6fr) minmax(260px, .65fr);\n\t\t\t\tgap: 22px;\n\t\t\t\talign-items: start;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 label,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-label {\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin: 0 0 7px;\n\t\t\t\tcolor: #334155;\n\t\t\t\tfont-size: 13px;\n\t\t\t\tfont-weight: 700;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 textarea,\n\t\t\t#tga-lead-cleaner-1 select {\n\t\t\t\twidth: 100%;\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 11px 13px;\n\t\t\t\tborder: 1px solid #cbd5e1;\n\t\t\t\tborder-radius: 10px;\n\t\t\t\toutline: none;\n\t\t\t\tbackground: var(--tga-white);\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t\tfont: inherit;\n\t\t\t\tfont-size: 16px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 textarea {\n\t\t\t\tmin-height: 310px;\n\t\t\t\tresize: vertical;\n\t\t\t\tfont-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n\t\t\t\tfont-size: 13px;\n\t\t\t\tline-height: 1.55;\n\t\t\t\twhite-space: pre;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 select { min-height: 48px; }\n\t\t\t#tga-lead-cleaner-1 textarea:focus,\n\t\t\t#tga-lead-cleaner-1 select:focus {\n\t\t\t\tborder-color: var(--tga-purple);\n\t\t\t\tbox-shadow: 0 0 0 3px rgba(101, 40, 247, .12);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-settings {\n\t\t\t\tdisplay: grid;\n\t\t\t\tgap: 16px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-upload {\n\t\t\t\tdisplay: flex;\n\t\t\t\tmin-height: 92px;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\tpadding: 16px;\n\t\t\t\tborder: 1px dashed #a78bfa;\n\t\t\t\tborder-radius: 12px;\n\t\t\t\tcursor: pointer;\n\t\t\t\tbackground: var(--tga-lilac);\n\t\t\t\tcolor: #4c1d95;\n\t\t\t\tfont-size: 13px;\n\t\t\t\tfont-weight: 750;\n\t\t\t\ttext-align: center;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-upload:hover { border-color: var(--tga-purple); }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-upload input {\n\t\t\t\tposition: absolute;\n\t\t\t\twidth: 1px;\n\t\t\t\theight: 1px;\n\t\t\t\toverflow: hidden;\n\t\t\t\tclip: rect(0 0 0 0);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-check {\n\t\t\t\tdisplay: flex;\n\t\t\t\tgap: 10px;\n\t\t\t\talign-items: flex-start;\n\t\t\t\tmargin: 0;\n\t\t\t\tfont-weight: 600;\n\t\t\t\tline-height: 1.5;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-check input {\n\t\t\t\twidth: 18px;\n\t\t\t\theight: 18px;\n\t\t\t\tmargin: 2px 0 0;\n\t\t\t\taccent-color: var(--tga-purple);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-help {\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin-top: 6px;\n\t\t\t\tcolor: var(--tga-muted);\n\t\t\t\tfont-size: 11px;\n\t\t\t\tline-height: 1.5;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-error {\n\t\t\t\tmin-height: 20px;\n\t\t\t\tmargin-top: 8px;\n\t\t\t\tcolor: #b91c1c;\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-weight: 700;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-actions,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-result-actions {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-wrap: wrap;\n\t\t\t\tgap: 10px;\n\t\t\t\tmargin-top: 20px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-button {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmin-height: 46px;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\tpadding: 11px 16px;\n\t\t\t\tborder: 1px solid transparent;\n\t\t\t\tborder-radius: 10px;\n\t\t\t\tcursor: pointer;\n\t\t\t\tfont: inherit;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tfont-weight: 700;\n\t\t\t\tline-height: 1.2;\n\t\t\t\ttext-decoration: none;\n\t\t\t\ttransition: transform .16s ease, background .16s ease;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-button:hover { transform: translateY(-1px); }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-button:focus-visible,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-upload:focus-within,\n\t\t\t#tga-lead-cleaner-1 summary:focus-visible {\n\t\t\t\toutline: 3px solid rgba(101, 40, 247, .32);\n\t\t\t\toutline-offset: 3px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-button--primary {\n\t\t\t\tbackground: var(--tga-purple);\n\t\t\t\tcolor: var(--tga-white);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-button--primary:hover {\n\t\t\t\tbackground: var(--tga-purple-dark);\n\t\t\t\tcolor: var(--tga-white);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-button--secondary {\n\t\t\t\tborder-color: var(--tga-line);\n\t\t\t\tbackground: var(--tga-white);\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-stats {\n\t\t\t\tdisplay: grid;\n\t\t\t\tgrid-template-columns: repeat(4, minmax(0, 1fr));\n\t\t\t\tgap: 12px;\n\t\t\t\tmargin-bottom: 20px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-stat {\n\t\t\t\tpadding: 15px;\n\t\t\t\tborder: 1px solid var(--tga-line);\n\t\t\t\tborder-radius: 12px;\n\t\t\t\tbackground: #fbfdff;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-stat strong {\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin-bottom: 3px;\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t\tfont-size: 24px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-stat span {\n\t\t\t\tcolor: var(--tga-muted);\n\t\t\t\tfont-size: 11px;\n\t\t\t\tfont-weight: 700;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap {\n\t\t\t\tmax-height: 490px;\n\t\t\t\toverflow: auto;\n\t\t\t\tborder: 1px solid #dbe3ef;\n\t\t\t\tborder-radius: 12px;\n\t\t\t\tbackground: var(--tga-white);\n\t\t\t\tbox-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);\n\t\t\t\tscrollbar-color: #cbd5e1 transparent;\n\t\t\t\tscrollbar-width: thin;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap table {\n\t\t\t\twidth: 100%;\n\t\t\t\tmin-width: 760px;\n\t\t\t\tmargin: 0;\n\t\t\t\tborder: 0 !important;\n\t\t\t\tborder-collapse: separate;\n\t\t\t\tborder-spacing: 0;\n\t\t\t\toutline: 0;\n\t\t\t\tbackground: var(--tga-white);\n\t\t\t\tbox-shadow: none;\n\t\t\t\tfont-size: 12px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap th,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap td {\n\t\t\t\tpadding: 13px 14px;\n\t\t\t\tborder: 0 !important;\n\t\t\t\tborder-bottom: 1px solid #e5eaf2 !important;\n\t\t\t\tbackground-clip: padding-box;\n\t\t\t\ttext-align: left;\n\t\t\t\tvertical-align: middle;\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap th {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: 2;\n\t\t\t\ttop: 0;\n\t\t\t\tbackground: #f6f8fc;\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t\tfont-weight: 800;\n\t\t\t\tletter-spacing: 0.01em;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap tbody tr:nth-child(even) td {\n\t\t\t\tbackground: #fbfcff;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap tbody tr:hover td {\n\t\t\t\tbackground: #f5f3ff;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap td {\n\t\t\t\tcolor: #475569;\n\t\t\t\tline-height: 1.45;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap tbody tr:last-child td {\n\t\t\t\tborder-bottom: 0 !important;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-empty {\n\t\t\t\tpadding: 50px 20px;\n\t\t\t\tborder: 1px dashed #cbd5e1;\n\t\t\t\tborder-radius: 12px;\n\t\t\t\tcolor: var(--tga-muted);\n\t\t\t\ttext-align: center;\n\t\t\t\tline-height: 1.7;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-note {\n\t\t\t\tmargin: 15px 0 0;\n\t\t\t\tcolor: var(--tga-muted);\n\t\t\t\tfont-size: 11px;\n\t\t\t\tline-height: 1.6;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-status {\n\t\t\t\tmin-height: 20px;\n\t\t\t\tmargin-top: 10px;\n\t\t\t\tcolor: #166534;\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-weight: 700;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-after {\n\t\t\t\tdisplay: grid;\n\t\t\t\tgap: 24px;\n\t\t\t\tmargin-top: 24px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-section { padding: 30px; }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-section h2 {\n\t\t\t\tmargin: 0 0 8px;\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t\tfont-size: clamp(23px, 3vw, 30px);\n\t\t\t\tline-height: 1.25;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-info-grid,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-related-grid {\n\t\t\t\tdisplay: grid;\n\t\t\t\tgrid-template-columns: repeat(3, minmax(0, 1fr));\n\t\t\t\tgap: 14px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-info-card,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-related-card {\n\t\t\t\tpadding: 18px;\n\t\t\t\tborder: 1px solid var(--tga-line);\n\t\t\t\tborder-radius: 13px;\n\t\t\t\tbackground: #fbfdff;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-info-card strong,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-related-card strong {\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin-bottom: 7px;\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t\tfont-size: 14px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-info-card p,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-related-card span {\n\t\t\t\tmargin: 0;\n\t\t\t\tcolor: var(--tga-muted);\n\t\t\t\tfont-size: 12px;\n\t\t\t\tline-height: 1.6;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid {\n\t\t\t\tdisplay: flex;\n\t\t\t\tgap: 28px;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: space-between;\n\t\t\t\tcolor: var(--tga-white);\n\t\t\t\tbackground: linear-gradient(135deg, #111827, #2e1768);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid h2 { color: var(--tga-white); }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid p {\n\t\t\t\tmax-width: 760px;\n\t\t\t\tmargin: 0;\n\t\t\t\tcolor: #dce4ff;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tline-height: 1.7;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid-label {\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin-bottom: 8px;\n\t\t\t\tcolor: #bfa9ff;\n\t\t\t\tfont-size: 11px;\n\t\t\t\tfont-weight: 800;\n\t\t\t\tletter-spacing: .06em;\n\t\t\t\ttext-transform: uppercase;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-faq-list { display: grid; gap: 10px; }\n\t\t\t#tga-lead-cleaner-1 details {\n\t\t\t\tborder: 1px solid var(--tga-line);\n\t\t\t\tborder-radius: 12px;\n\t\t\t\tbackground: #fbfdff;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 summary {\n\t\t\t\tpadding: 17px 18px;\n\t\t\t\tcursor: pointer;\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t\tfont-size: 14px;\n\t\t\t\tfont-weight: 750;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 details p {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0 18px 18px;\n\t\t\t\tcolor: var(--tga-muted);\n\t\t\t\tfont-size: 13px;\n\t\t\t\tline-height: 1.7;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-related-card {\n\t\t\t\tdisplay: block;\n\t\t\t\tcolor: inherit;\n\t\t\t\ttext-decoration: none;\n\t\t\t\ttransition: transform .16s ease, border-color .16s ease;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-related-card:hover {\n\t\t\t\ttransform: translateY(-2px);\n\t\t\t\tborder-color: #bba8ff;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-i18n {\n\t\t\t\tposition: absolute !important;\n\t\t\t\twidth: 1px !important;\n\t\t\t\theight: 1px !important;\n\t\t\t\toverflow: hidden !important;\n\t\t\t\tclip: rect(0 0 0 0) !important;\n\t\t\t\twhite-space: nowrap !important;\n\t\t\t}\n\t\t\t\n\t\t\t\/* TGA_FREE_TOOL_COMPONENT_STANDARD *\/\n\t\t\t#tga-lead-cleaner-1 details { padding:0; border:0; border-bottom:1px solid #e2e8f0; border-radius:0; background:transparent; }\n\t\t\t#tga-lead-cleaner-1 details:last-child { border-bottom:0; }\n\t\t\t#tga-lead-cleaner-1 summary { padding:17px 0; font-weight:800; }\n\t\t\t#tga-lead-cleaner-1 details p { margin:-3px 0 18px; padding:0; color:#64748b; font-size:14px; line-height:1.7; }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid { border-color:transparent; background:linear-gradient(135deg,#0f1831,#34206f); color:#fff; }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid h2 { color:#fff; }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid p { color:#dce4ff; }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid-label { color:#cbbcff; }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid .tga-llc-button { border-color:#fff; background:#fff; color:#0f1831; }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid .tga-llc-button:hover { background:#f8fafc; color:#0f1831; }\n@media (max-width: 900px) {\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-input-grid { grid-template-columns: 1fr; }\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-info-grid,\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-related-grid { grid-template-columns: 1fr; }\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-paid {\n\t\t\t\t\talign-items: flex-start;\n\t\t\t\t\tflex-direction: column;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@media (max-width: 600px) {\n\t\t\t\t#tga-lead-cleaner-1 {\n\t\t\t\t\tmargin-top: 24px;\n\t\t\t\t\tpadding: 0 15px;\n\t\t\t\t}\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-hero { padding: 31px 23px; }\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-hero::after { font-size: 150px; }\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-hero p { font-size: 15px; }\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-panel,\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-section { padding: 22px 18px; }\n\t\t\t\t#tga-lead-cleaner-1 textarea { min-height: 260px; }\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-stats { grid-template-columns: 1fr 1fr; }\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-actions .tga-llc-button,\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-result-actions .tga-llc-button,\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-paid .tga-llc-button { width: 100%; }\n\t\t\t}\n\t\t\n\t\t\t\/* TGA_FREE_TOOL_FOCUS_STANDARD *\/\n\t\t\t#tga-lead-cleaner-1 button:focus-visible,\n\t\t\t#tga-lead-cleaner-1 a:focus-visible,\n\t\t\t#tga-lead-cleaner-1 summary:focus-visible,\n\t\t\t#tga-lead-cleaner-1 input:focus-visible,\n\t\t\t#tga-lead-cleaner-1 select:focus-visible,\n\t\t\t#tga-lead-cleaner-1 textarea:focus-visible { outline: 3px solid rgba(101, 40, 247, .24); outline-offset: 3px; }\n<\/style>\n\n\t\t<header class=\"tga-llc-hero\">\n\t\t\t<span class=\"tga-llc-eyebrow\">Prepare Cleaner Lead Data<\/span>\n\t\t\t<h1 id=\"tga-lead-cleaner-1-title\">Lead List Cleaner<\/h1>\n\t\t\t<p>Remove duplicate leads, trim inconsistent fields, normalize email case, and download a cleaner CSV before outreach or CRM import.<\/p>\n\t\t<\/header>\n\n\t\t<div class=\"tga-llc-workspace\">\n\t\t\t<section class=\"tga-llc-panel\" aria-labelledby=\"tga-lead-cleaner-1-input-title\">\n\t\t\t\t<h2 id=\"tga-lead-cleaner-1-input-title\" class=\"tga-llc-panel-title\">Add Your Lead List<\/h2>\n\t\t\t\t<p class=\"tga-llc-panel-copy\">Paste a table with a header row or choose a CSV or TSV file from your device.<\/p>\n\n\t\t\t\t<div class=\"tga-llc-input-grid\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<label for=\"tga-lead-cleaner-1-data\">Lead Data *<\/label>\n\t\t\t\t\t\t<textarea id=\"tga-lead-cleaner-1-data\" name=\"lead_data\" maxlength=\"2000000\" spellcheck=\"false\">First Name,Last Name,Company,Email,Phone,Country\nAlex,Morgan,Northstar Imports,Alex.Morgan@Example.com,+1 212 555 0198,United States\n Alex , Morgan ,Northstar Imports,alex.morgan@example.com,+1 212 555 0198,United States\nMaya,Chen,Pacific Retail,maya.chen@pacific.example,+86 21 5555 0188,China\nOmar,Hassan,Crescent Trading,OMAR@CRESCENT.EXAMPLE,+971 4 555 0130,United Arab Emirates<\/textarea>\n\t\t\t\t\t\t<span class=\"tga-llc-help\">Supports comma, tab, and semicolon separators. Maximum 10,000 data rows.<\/span>\n\t\t\t\t\t\t<div class=\"tga-llc-error\" role=\"alert\" aria-live=\"assertive\"><\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"tga-llc-settings\">\n\t\t\t\t\t\t<label class=\"tga-llc-upload\">\n\t\t\t\t\t\t\t<span data-file-label>Choose CSV or TSV File<\/span>\n\t\t\t\t\t\t\t<input type=\"file\" accept=\".csv,.tsv,text\/csv,text\/tab-separated-values,text\/plain\" data-action=\"file\">\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<label for=\"tga-lead-cleaner-1-duplicate\">Find Duplicates By<\/label>\n\t\t\t\t\t\t\t<select id=\"tga-lead-cleaner-1-duplicate\" name=\"duplicate_key\">\n\t\t\t\t\t\t\t\t<option value=\"auto\">Auto Detect<\/option>\n\t\t\t\t\t\t\t\t<option value=\"email\">Email<\/option>\n\t\t\t\t\t\t\t\t<option value=\"phone\">Phone<\/option>\n\t\t\t\t\t\t\t\t<option value=\"company\">Company<\/option>\n\t\t\t\t\t\t\t\t<option value=\"row\">Entire Row<\/option>\n\t\t\t\t\t\t\t<\/select>\n\t\t\t\t\t\t\t<span class=\"tga-llc-help\">Auto Detect prefers Email, then Phone, Company, and Entire Row.<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<label class=\"tga-llc-check\">\n\t\t\t\t\t\t\t<input type=\"checkbox\" name=\"lowercase_email\" checked>\n\t\t\t\t\t\t\t<span>Convert email addresses to lowercase<\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t<label class=\"tga-llc-check\">\n\t\t\t\t\t\t\t<input type=\"checkbox\" name=\"protect_csv\" checked>\n\t\t\t\t\t\t\t<span>Protect formula-like cells in the downloaded CSV<\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t\t<div class=\"tga-llc-actions\">\n\t\t\t\t\t<button class=\"tga-llc-button tga-llc-button--primary\" type=\"button\" data-action=\"clean\">Clean Lead List<\/button>\n\t\t\t\t\t<button class=\"tga-llc-button tga-llc-button--secondary\" type=\"button\" data-action=\"reset\">Reset<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/section>\n\n\t\t\t<section class=\"tga-llc-panel\" aria-labelledby=\"tga-lead-cleaner-1-results-title\">\n\t\t\t\t<h2 id=\"tga-lead-cleaner-1-results-title\" class=\"tga-llc-panel-title\">Cleaned List Preview<\/h2>\n\t\t\t\t<p class=\"tga-llc-panel-copy\">Review the cleaned rows before copying or downloading the complete file.<\/p>\n\t\t\t\t<div class=\"tga-llc-stats\" hidden>\n\t\t\t\t\t<div class=\"tga-llc-stat\"><strong data-stat=\"input\">0<\/strong><span>Input Rows<\/span><\/div>\n\t\t\t\t\t<div class=\"tga-llc-stat\"><strong data-stat=\"kept\">0<\/strong><span>Rows Kept<\/span><\/div>\n\t\t\t\t\t<div class=\"tga-llc-stat\"><strong data-stat=\"duplicates\">0<\/strong><span>Duplicates Removed<\/span><\/div>\n\t\t\t\t\t<div class=\"tga-llc-stat\"><strong data-stat=\"changed\">0<\/strong><span>Cells Standardized<\/span><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"tga-llc-preview\">\n\t\t\t\t\t<div class=\"tga-llc-empty\">Clean the sample list or add your own data to preview the results.<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"tga-llc-result-actions\">\n\t\t\t\t\t<button class=\"tga-llc-button tga-llc-button--secondary\" type=\"button\" data-action=\"copy\">Copy Clean CSV<\/button>\n\t\t\t\t\t<button class=\"tga-llc-button tga-llc-button--primary\" type=\"button\" data-action=\"download\">Download Clean CSV<\/button>\n\t\t\t\t<\/div>\n\t\t\t\t<p class=\"tga-llc-note\">The preview shows up to 50 rows. Copy and Download include every cleaned row. Formula-like cells are protected in downloaded CSV files when that option is selected.<\/p>\n\t\t\t\t<div class=\"tga-llc-status\" role=\"status\" aria-live=\"polite\"><\/div>\n\t\t\t<\/section>\n\t\t<\/div>\n\n\t\t<div class=\"tga-llc-after\">\n\t\t\t<section class=\"tga-llc-section\" aria-labelledby=\"tga-lead-cleaner-1-rules-title\">\n\t\t\t\t<h2 id=\"tga-lead-cleaner-1-rules-title\">Know What Changes<\/h2>\n\t\t\t\t<p class=\"tga-llc-section-intro\">The cleaner applies transparent formatting and duplicate rules without guessing missing lead information.<\/p>\n\t\t\t\t<div class=\"tga-llc-info-grid\">\n\t\t\t\t\t<div class=\"tga-llc-info-card\">\n\t\t\t\t\t\t<strong>Local Processing<\/strong>\n\t\t\t\t\t\t<p>Your pasted or uploaded lead list stays in your browser and is not stored by TradeGoAI.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"tga-llc-info-card\">\n\t\t\t\t\t\t<strong>Predictable Cleanup<\/strong>\n\t\t\t\t\t\t<p>Leading and trailing spaces are removed, blank rows are dropped, and email case is normalized when selected.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"tga-llc-info-card\">\n\t\t\t\t\t\t<strong>Transparent Deduplication<\/strong>\n\t\t\t\t\t\t<p>The selected field determines duplicates. Blank keys remain separate so unrelated leads are not merged.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/section>\n\n\t\t\t<section class=\"tga-llc-section tga-llc-paid\" aria-labelledby=\"tga-lead-cleaner-1-paid-title\">\n\t\t\t\t<div>\n\t\t\t\t\t<span class=\"tga-llc-paid-label\">Related Paid Agent<\/span>\n\t\t\t\t\t<h2 id=\"tga-lead-cleaner-1-paid-title\">Turn a Clean List Into Prioritized Opportunities<\/h2>\n\t\t\t\t\t<p>Use Lead Ads Enricher to organize incoming leads, identify which prospects deserve attention first, and prepare the next email or WhatsApp action.<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<a class=\"tga-llc-button tga-llc-button--primary\" href=\"https:\/\/app.tradegoai.app\/admin\/lead-ads-enricher\">Open Lead Ads Enricher<\/a>\n\t\t\t<\/section>\n\n\t\t\t<section class=\"tga-llc-section\" aria-labelledby=\"tga-lead-cleaner-1-faq-title\">\n\t\t\t\t<h2 id=\"tga-lead-cleaner-1-faq-title\">Frequently Asked Questions<\/h2>\n\t\t\t\t<p class=\"tga-llc-section-intro\">Learn how files, duplicate keys, blank values, and browser-only processing are handled.<\/p>\n\t\t\t\t<div class=\"tga-llc-faq-list\">\n\t\t\t\t\t\t\t\t\t\t<details>\n\t\t\t\t\t\t<summary>What files can I clean?<\/summary>\n\t\t\t\t\t\t<p>You can paste data or upload a CSV or TSV file with a header row. The cleaner supports comma, tab, and semicolon separators.<\/p>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t\t<details>\n\t\t\t\t\t\t<summary>Is my lead list uploaded or saved?<\/summary>\n\t\t\t\t\t\t<p>No. Your list is read and cleaned in your browser. The tool does not send the file or its contents to TradeGoAI.<\/p>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t\t<details>\n\t\t\t\t\t\t<summary>How are duplicate leads identified?<\/summary>\n\t\t\t\t\t\t<p>Choose Email, Phone, Company, or Entire Row. Auto Detect uses an email column first, then phone, then company, and finally the complete row.<\/p>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t\t<details>\n\t\t\t\t\t\t<summary>What happens when the duplicate field is blank?<\/summary>\n\t\t\t\t\t\t<p>Rows with a blank duplicate key are kept. The cleaner does not merge unrelated leads simply because the selected field is empty.<\/p>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t\t<details>\n\t\t\t\t\t\t<summary>Does this tool verify email addresses or companies?<\/summary>\n\t\t\t\t\t\t<p>No. It standardizes and deduplicates the data you provide. Use an email verification or lead enrichment tool before outreach.<\/p>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/section>\n\n\t\t\t<section class=\"tga-llc-section\" aria-labelledby=\"tga-lead-cleaner-1-related-title\">\n\t\t\t\t<h2 id=\"tga-lead-cleaner-1-related-title\">Related Free Tools<\/h2>\n\t\t\t\t<p class=\"tga-llc-section-intro\">Continue from finding prospects to preparing contact details and researching each company.<\/p>\n\t\t\t\t<div class=\"tga-llc-related-grid\">\n\t\t\t\t\t<a class=\"tga-llc-related-card\" href=\"https:\/\/tradegoai.app\/tools\/b2b-search-query-builder\/\">\n\t\t\t\t\t\t<strong>B2B Search Query Builder<\/strong>\n\t\t\t\t\t\t<span>Build focused searches for buyers, distributors, companies, and decision-makers.<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t<a class=\"tga-llc-related-card\" href=\"https:\/\/tradegoai.app\/tools\/email-pattern-generator\/\">\n\t\t\t\t\t\t<strong>Email Pattern Generator<\/strong>\n\t\t\t\t\t\t<span>Build common business email formats from a contact name and company domain.<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t<a class=\"tga-llc-related-card\" href=\"https:\/\/tradegoai.app\/tools\/client-qualification-assistant\/\">\n\t\t\t\t\t\t<strong>Client Qualification Assistant<\/strong>\n\t\t\t\t\t\t<span>Open public company, person, registry, and contact research paths.<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t<\/section>\n\t\t<\/div>\n\n\t\t<div class=\"tga-llc-i18n\" aria-hidden=\"true\">\n\t\t\t<span data-key=\"empty\">Clean the sample list or add your own data to preview the results.<\/span>\n\t\t\t<span data-key=\"chooseFile\">Choose CSV or TSV File<\/span>\n\t\t\t<span data-key=\"fileTooLarge\">Choose a file smaller than 5 MB.<\/span>\n\t\t\t<span data-key=\"fileReadError\">The file could not be read. Choose a valid CSV or TSV file.<\/span>\n\t\t\t<span data-key=\"dataRequired\">Paste a table or choose a CSV or TSV file.<\/span>\n\t\t\t<span data-key=\"headerRequired\">Add a header row and at least one data row.<\/span>\n\t\t\t<span data-key=\"tooManyRows\">Limit the list to 10,000 data rows.<\/span>\n\t\t\t<span data-key=\"fieldMissing\">The selected duplicate field was not found in the header row.<\/span>\n\t\t\t<span data-key=\"autoEmail\">Email<\/span>\n\t\t\t<span data-key=\"autoPhone\">Phone<\/span>\n\t\t\t<span data-key=\"autoCompany\">Company<\/span>\n\t\t\t<span data-key=\"autoRow\">Entire Row<\/span>\n\t\t\t<span data-key=\"dedupeUsed\">Duplicate key<\/span>\n\t\t\t<span data-key=\"cleaned\">lead rows ready.<\/span>\n\t\t\t<span data-key=\"cleanFirst\">Clean a lead list first.<\/span>\n\t\t\t<span data-key=\"copied\">Clean CSV copied.<\/span>\n\t\t\t<span data-key=\"downloaded\">Clean CSV downloaded.<\/span>\n\t\t\t<span data-key=\"resetDone\">Tool reset.<\/span>\n\t\t\t<span data-key=\"previewNote\">Showing the first<\/span>\n\t\t\t<span data-key=\"ofRows\">of<\/span>\n\t\t\t<span data-key=\"rows\">rows<\/span>\n\t\t<\/div>\n\n\t\t<script>\n\t\t(function() {\n\t\t\tconst root = document.getElementById(\"tga-lead-cleaner-1\");\n\t\t\tif (!root || root.dataset.ready === '1') return;\n\t\t\troot.dataset.ready = '1';\n\n\t\t\tconst textarea = root.querySelector('[name=\"lead_data\"]');\n\t\t\tconst duplicateSelect = root.querySelector('[name=\"duplicate_key\"]');\n\t\t\tconst lowerEmail = root.querySelector('[name=\"lowercase_email\"]');\n\t\t\tconst protectCsv = root.querySelector('[name=\"protect_csv\"]');\n\t\t\tconst fileInput = root.querySelector('[data-action=\"file\"]');\n\t\t\tconst fileLabel = root.querySelector('[data-file-label]');\n\t\t\tconst preview = root.querySelector('.tga-llc-preview');\n\t\t\tconst stats = root.querySelector('.tga-llc-stats');\n\t\t\tconst error = root.querySelector('.tga-llc-error');\n\t\t\tconst status = root.querySelector('.tga-llc-status');\n\t\t\tconst labels = {};\n\t\t\tlet current = null;\n\n\t\t\troot.querySelectorAll('.tga-llc-i18n [data-key]').forEach(function(node) {\n\t\t\t\tlabels[node.dataset.key] = node.textContent.trim();\n\t\t\t});\n\n\t\t\tconst announce = function(message) {\n\t\t\t\tstatus.textContent = message;\n\t\t\t\twindow.setTimeout(function() {\n\t\t\t\t\tif (status.textContent === message) status.textContent = '';\n\t\t\t\t}, 2800);\n\t\t\t};\n\t\t\tconst setError = function(message) {\n\t\t\t\terror.textContent = message;\n\t\t\t\tif (message) textarea.setAttribute('aria-invalid', 'true');\n\t\t\t\telse textarea.removeAttribute('aria-invalid');\n\t\t\t};\n\t\t\tconst normalizeHeader = function(value) {\n\t\t\t\treturn String(value || '')\n\t\t\t\t\t.trim()\n\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t.normalize('NFD')\n\t\t\t\t\t.replace(\/[\\u0300-\\u036f]\/g, '')\n\t\t\t\t\t.replace(\/[\\s_.\\-()\/]\/g, '');\n\t\t\t};\n\t\t\tconst headerKind = function(value) {\n\t\t\t\tconst key = normalizeHeader(value);\n\t\t\t\tif (['email', 'emailaddress', 'emailadresse', 'workemail', 'businessemail', 'correo', 'correoelectronico', '\u30e1\u30fc\u30eb', '\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9', '\uc774\uba54\uc77c', '\uc774\uba54\uc77c\uc8fc\uc18c'].includes(key)) return 'email';\n\t\t\t\tif (['phone', 'phonenumber', 'mobile', 'mobilenumber', 'telephone', 'telefono', 'telefon', 'tel', 'whatsapp', '\u96fb\u8a71', '\u96fb\u8a71\u756a\u53f7', '\uc804\ud654', '\uc804\ud654\ubc88\ud638', '\ud734\ub300\ud3f0'].includes(key)) return 'phone';\n\t\t\t\tif (['company', 'companyname', 'organization', 'organisation', 'business', 'businessname', 'unternehmen', 'firma', 'societe', 'entreprise', 'empresa', 'compania', '\u4f1a\u793e', '\u4f01\u696d', '\ud68c\uc0ac', '\uae30\uc5c5'].includes(key)) return 'company';\n\t\t\t\treturn '';\n\t\t\t};\n\t\t\tconst detectDelimiter = function(text) {\n\t\t\t\tconst line = String(text || '').replace(\/^\\uFEFF\/, '').split(\/\\r?\\n\/, 1)[0] || '';\n\t\t\t\tconst candidates = [',', '\\t', ';'];\n\t\t\t\tlet best = ',';\n\t\t\t\tlet bestCount = -1;\n\t\t\t\tcandidates.forEach(function(delimiter) {\n\t\t\t\t\tlet count = 0;\n\t\t\t\t\tlet quoted = false;\n\t\t\t\t\tfor (let index = 0; index < line.length; index += 1) {\n\t\t\t\t\t\tif (line[index] === '\"') quoted = !quoted;\n\t\t\t\t\t\telse if (!quoted && line[index] === delimiter) count += 1;\n\t\t\t\t\t}\n\t\t\t\t\tif (count > bestCount) {\n\t\t\t\t\t\tbest = delimiter;\n\t\t\t\t\t\tbestCount = count;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn best;\n\t\t\t};\n\t\t\tconst parseDelimited = function(text, delimiter) {\n\t\t\t\tconst rows = [];\n\t\t\t\tlet row = [];\n\t\t\t\tlet field = '';\n\t\t\t\tlet quoted = false;\n\t\t\t\tconst source = String(text || '').replace(\/^\\uFEFF\/, '');\n\n\t\t\t\tfor (let index = 0; index < source.length; index += 1) {\n\t\t\t\t\tconst char = source[index];\n\t\t\t\t\tif (char === '\"') {\n\t\t\t\t\t\tif (quoted && source[index + 1] === '\"') {\n\t\t\t\t\t\t\tfield += '\"';\n\t\t\t\t\t\t\tindex += 1;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tquoted = !quoted;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (char === delimiter && !quoted) {\n\t\t\t\t\t\trow.push(field);\n\t\t\t\t\t\tfield = '';\n\t\t\t\t\t} else if ((char === '\\n' || char === '\\r') && !quoted) {\n\t\t\t\t\t\tif (char === '\\r' && source[index + 1] === '\\n') index += 1;\n\t\t\t\t\t\trow.push(field);\n\t\t\t\t\t\trows.push(row);\n\t\t\t\t\t\trow = [];\n\t\t\t\t\t\tfield = '';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfield += char;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\trow.push(field);\n\t\t\t\trows.push(row);\n\t\t\t\treturn rows;\n\t\t\t};\n\t\t\tconst isBlankRow = function(row) {\n\t\t\t\treturn row.every(function(value) { return !String(value || '').trim(); });\n\t\t\t};\n\t\t\tconst normalizeKey = function(value, kind) {\n\t\t\t\tconst text = String(value || '').trim();\n\t\t\t\tif (kind === 'email') return text.toLowerCase();\n\t\t\t\tif (kind === 'phone') return text.replace(\/\\D\/g, '');\n\t\t\t\tif (kind === 'company') return text.toLowerCase().replace(\/\\s+\/g, ' ').replace(\/[.,]+$\/g, '');\n\t\t\t\treturn text.toLowerCase();\n\t\t\t};\n\t\t\tconst protectCell = function(value) {\n\t\t\t\tconst text = String(value ?? '');\n\t\t\t\treturn protectCsv.checked && \/^[=+\\-@]\/.test(text) ? \"'\" + text : text;\n\t\t\t};\n\t\t\tconst csvValue = function(value) {\n\t\t\t\treturn '\"' + protectCell(value).replaceAll('\"', '\"\"') + '\"';\n\t\t\t};\n\t\t\tconst toCsv = function(headers, rows) {\n\t\t\t\treturn [headers].concat(rows).map(function(row) {\n\t\t\t\t\treturn row.map(csvValue).join(',');\n\t\t\t\t}).join('\\r\\n');\n\t\t\t};\n\n\t\t\tfunction findColumn(headers, requested) {\n\t\t\t\tconst kinds = headers.map(headerKind);\n\t\t\t\tif (requested === 'auto') {\n\t\t\t\t\tfor (const kind of ['email', 'phone', 'company']) {\n\t\t\t\t\t\tconst index = kinds.indexOf(kind);\n\t\t\t\t\t\tif (index !== -1) return { index: index, kind: kind };\n\t\t\t\t\t}\n\t\t\t\t\treturn { index: -1, kind: 'row' };\n\t\t\t\t}\n\t\t\t\tif (requested === 'row') return { index: -1, kind: 'row' };\n\t\t\t\treturn { index: kinds.indexOf(requested), kind: requested };\n\t\t\t}\n\n\t\t\tfunction cleanData() {\n\t\t\t\tsetError('');\n\t\t\t\tconst source = textarea.value;\n\t\t\t\tif (!source.trim()) {\n\t\t\t\t\tsetError(labels.dataRequired);\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tconst parsed = parseDelimited(source, detectDelimiter(source));\n\t\t\t\tconst nonBlank = parsed.filter(function(row) { return !isBlankRow(row); });\n\t\t\t\tif (nonBlank.length < 2) {\n\t\t\t\t\tsetError(labels.headerRequired);\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tif (nonBlank.length - 1 > 10000) {\n\t\t\t\t\tsetError(labels.tooManyRows);\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst maxColumns = Math.max.apply(null, nonBlank.map(function(row) { return row.length; }));\n\t\t\t\tconst headers = nonBlank.shift().map(function(value, index) {\n\t\t\t\t\tconst trimmed = String(value || '').trim();\n\t\t\t\t\treturn trimmed || 'Column ' + String(index + 1);\n\t\t\t\t});\n\t\t\t\twhile (headers.length < maxColumns) headers.push('Column ' + String(headers.length + 1));\n\n\t\t\t\tconst match = findColumn(headers, duplicateSelect.value);\n\t\t\t\tif (duplicateSelect.value !== 'auto' && duplicateSelect.value !== 'row' && match.index === -1) {\n\t\t\t\t\tsetError(labels.fieldMissing);\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst emailIndexes = headers.map(headerKind).map(function(kind, index) {\n\t\t\t\t\treturn kind === 'email' ? index : -1;\n\t\t\t\t}).filter(function(index) { return index !== -1; });\n\t\t\t\tlet changed = 0;\n\t\t\t\tconst rows = nonBlank.map(function(sourceRow) {\n\t\t\t\t\tconst row = [];\n\t\t\t\t\tfor (let index = 0; index < maxColumns; index += 1) {\n\t\t\t\t\t\tconst original = String(sourceRow[index] ?? '');\n\t\t\t\t\t\tlet value = original.trim();\n\t\t\t\t\t\tif (lowerEmail.checked && emailIndexes.includes(index)) {\n\t\t\t\t\t\t\tvalue = value.toLowerCase();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (value !== original) changed += 1;\n\t\t\t\t\t\trow.push(value);\n\t\t\t\t\t}\n\t\t\t\t\treturn row;\n\t\t\t\t});\n\n\t\t\t\tconst seen = new Set();\n\t\t\t\tconst kept = [];\n\t\t\t\tlet duplicates = 0;\n\t\t\t\trows.forEach(function(row) {\n\t\t\t\t\tconst key = match.kind === 'row'\n\t\t\t\t\t\t? JSON.stringify(row.map(function(value) { return normalizeKey(value, 'row'); }))\n\t\t\t\t\t\t: normalizeKey(row[match.index], match.kind);\n\t\t\t\t\tif (!key) {\n\t\t\t\t\t\tkept.push(row);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (seen.has(key)) {\n\t\t\t\t\t\tduplicates += 1;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tseen.add(key);\n\t\t\t\t\tkept.push(row);\n\t\t\t\t});\n\n\t\t\t\treturn {\n\t\t\t\t\theaders: headers,\n\t\t\t\t\trows: kept,\n\t\t\t\t\tinputRows: rows.length,\n\t\t\t\t\tduplicates: duplicates,\n\t\t\t\t\tchanged: changed,\n\t\t\t\t\tmatchKind: match.kind,\n\t\t\t\t\tcsv: toCsv(headers, kept)\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tfunction renderTable(data) {\n\t\t\t\tpreview.replaceChildren();\n\t\t\t\tconst wrap = document.createElement('div');\n\t\t\t\twrap.className = 'tga-llc-table-wrap';\n\t\t\t\tconst table = document.createElement('table');\n\t\t\t\tconst thead = document.createElement('thead');\n\t\t\t\tconst headRow = document.createElement('tr');\n\t\t\t\tdata.headers.forEach(function(header) {\n\t\t\t\t\tconst th = document.createElement('th');\n\t\t\t\t\tth.scope = 'col';\n\t\t\t\t\tth.textContent = header;\n\t\t\t\t\theadRow.appendChild(th);\n\t\t\t\t});\n\t\t\t\tthead.appendChild(headRow);\n\t\t\t\tconst tbody = document.createElement('tbody');\n\t\t\t\tdata.rows.slice(0, 50).forEach(function(row) {\n\t\t\t\t\tconst tr = document.createElement('tr');\n\t\t\t\t\trow.forEach(function(value) {\n\t\t\t\t\t\tconst td = document.createElement('td');\n\t\t\t\t\t\ttd.textContent = value;\n\t\t\t\t\t\ttr.appendChild(td);\n\t\t\t\t\t});\n\t\t\t\t\ttbody.appendChild(tr);\n\t\t\t\t});\n\t\t\t\ttable.append(thead, tbody);\n\t\t\t\twrap.appendChild(table);\n\t\t\t\tpreview.appendChild(wrap);\n\t\t\t\tif (data.rows.length > 50) {\n\t\t\t\t\tconst note = document.createElement('p');\n\t\t\t\t\tnote.className = 'tga-llc-note';\n\t\t\t\t\tnote.textContent = labels.previewNote + ' 50 ' + labels.ofRows + ' ' + String(data.rows.length) + ' ' + labels.rows + '.';\n\t\t\t\t\tpreview.appendChild(note);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction renderStats(data) {\n\t\t\t\tstats.hidden = false;\n\t\t\t\troot.querySelector('[data-stat=\"input\"]').textContent = String(data.inputRows);\n\t\t\t\troot.querySelector('[data-stat=\"kept\"]').textContent = String(data.rows.length);\n\t\t\t\troot.querySelector('[data-stat=\"duplicates\"]').textContent = String(data.duplicates);\n\t\t\t\troot.querySelector('[data-stat=\"changed\"]').textContent = String(data.changed);\n\t\t\t}\n\n\t\t\tfunction runCleaner() {\n\t\t\t\tconst cleaned = cleanData();\n\t\t\t\tif (!cleaned) return;\n\t\t\t\tcurrent = cleaned;\n\t\t\t\trenderStats(cleaned);\n\t\t\t\trenderTable(cleaned);\n\t\t\t\tconst keyLabel = {\n\t\t\t\t\temail: labels.autoEmail,\n\t\t\t\t\tphone: labels.autoPhone,\n\t\t\t\t\tcompany: labels.autoCompany,\n\t\t\t\t\trow: labels.autoRow\n\t\t\t\t}[cleaned.matchKind];\n\t\t\t\tannounce(String(cleaned.rows.length) + ' ' + labels.cleaned + ' ' + labels.dedupeUsed + ': ' + keyLabel + '.');\n\t\t\t}\n\n\t\t\troot.querySelector('[data-action=\"clean\"]').addEventListener('click', runCleaner);\n\n\t\t\troot.querySelector('[data-action=\"reset\"]').addEventListener('click', function() {\n\t\t\t\ttextarea.value = \"First Name,Last Name,Company,Email,Phone,Country\\nAlex,Morgan,Northstar Imports,Alex.Morgan@Example.com,+1 212 555 0198,United States\\n Alex , Morgan ,Northstar Imports,alex.morgan@example.com,+1 212 555 0198,United States\\nMaya,Chen,Pacific Retail,maya.chen@pacific.example,+86 21 5555 0188,China\\nOmar,Hassan,Crescent Trading,OMAR@CRESCENT.EXAMPLE,+971 4 555 0130,United Arab Emirates\";\n\t\t\t\tduplicateSelect.value = 'auto';\n\t\t\t\tlowerEmail.checked = true;\n\t\t\t\tprotectCsv.checked = true;\n\t\t\t\tfileInput.value = '';\n\t\t\t\tfileLabel.textContent = labels.chooseFile;\n\t\t\t\tsetError('');\n\t\t\t\tcurrent = null;\n\t\t\t\tstats.hidden = true;\n\t\t\t\tpreview.innerHTML = '<div class=\"tga-llc-empty\"><\/div>';\n\t\t\t\tpreview.querySelector('.tga-llc-empty').textContent = labels.empty;\n\t\t\t\tannounce(labels.resetDone);\n\t\t\t});\n\n\t\t\tfileInput.addEventListener('change', async function() {\n\t\t\t\tconst file = fileInput.files && fileInput.files[0];\n\t\t\t\tif (!file) return;\n\t\t\t\tif (file.size > 5 * 1024 * 1024) {\n\t\t\t\t\tfileInput.value = '';\n\t\t\t\t\tfileLabel.textContent = labels.chooseFile;\n\t\t\t\t\tsetError(labels.fileTooLarge);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\ttextarea.value = await file.text();\n\t\t\t\t\tfileLabel.textContent = file.name;\n\t\t\t\t\tsetError('');\n\t\t\t\t} catch (readError) {\n\t\t\t\t\tsetError(labels.fileReadError);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\troot.querySelector('[data-action=\"copy\"]').addEventListener('click', async function() {\n\t\t\t\tif (!current) {\n\t\t\t\t\tannounce(labels.cleanFirst);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst text = '\\uFEFF' + current.csv;\n\t\t\t\tif (navigator.clipboard && window.isSecureContext) {\n\t\t\t\t\tawait navigator.clipboard.writeText(text);\n\t\t\t\t} else {\n\t\t\t\t\tconst helper = document.createElement('textarea');\n\t\t\t\t\thelper.value = text;\n\t\t\t\t\thelper.setAttribute('readonly', '');\n\t\t\t\t\thelper.style.position = 'fixed';\n\t\t\t\t\thelper.style.opacity = '0';\n\t\t\t\t\tdocument.body.appendChild(helper);\n\t\t\t\t\thelper.select();\n\t\t\t\t\tdocument.execCommand('copy');\n\t\t\t\t\thelper.remove();\n\t\t\t\t}\n\t\t\t\tannounce(labels.copied);\n\t\t\t});\n\n\t\t\troot.querySelector('[data-action=\"download\"]').addEventListener('click', function() {\n\t\t\t\tif (!current) {\n\t\t\t\t\tannounce(labels.cleanFirst);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst blob = new Blob(['\\uFEFF' + current.csv], { type: 'text\/csv;charset=utf-8' });\n\t\t\t\tconst url = URL.createObjectURL(blob);\n\t\t\t\tconst link = document.createElement('a');\n\t\t\t\tlink.href = url;\n\t\t\t\tlink.download = 'cleaned-lead-list.csv';\n\t\t\t\tdocument.body.appendChild(link);\n\t\t\t\tlink.click();\n\t\t\t\tlink.remove();\n\t\t\t\tURL.revokeObjectURL(url);\n\t\t\t\tannounce(labels.downloaded);\n\t\t\t});\n\n\t\t\trunCleaner();\n\t\t})();\n\t\t<\/script>\n\t<\/section>\n\t\n","protected":false},"excerpt":{"rendered":"<p>Nettoyez et standardisez vos listes de prospects B2B dans le navigateur : supprimez les doublons, harmonisez les champs, v\u00e9rifiez le r\u00e9sultat et t\u00e9l\u00e9chargez un fichier CSV pr\u00eat \u00e0 l\u2019emploi.<\/p>","protected":false},"featured_media":9574,"template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"disabled","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"default","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"spectra_gs_classes":"[\"\"]"},"tool_categories":[47,32],"class_list":["post-9573","tools","type-tools","status-publish","has-post-thumbnail","hentry","tool_categories-lead-management-tools","tool_categories-sales-tools"],"spectra_custom_meta":{"spectra_gs_classes":["[\"\"]"],"rank_math_internal_links_processed":["1"],"site-post-title":["disabled"],"ast-breadcrumbs-content":["disabled"],"site-sidebar-layout":["default"],"ast-site-content-layout":["default"],"site-content-style":["default"],"site-sidebar-style":["default"],"theme-transparent-header-meta":["default"],"stick-header-meta":["default"],"astra-migrate-meta-layouts":["set"],"rank_math_title":["%title% %sep% %sitename%"],"rank_math_description":["%excerpt%"],"rank_math_robots":["a:2:{i:0;s:5:\"index\";i:1;s:6:\"follow\";}"],"rank_math_schema_SoftwareApplication":["a:9:{s:8:\"metadata\";a:8:{s:5:\"title\";s:20:\"Software Application\";s:4:\"type\";s:8:\"template\";s:9:\"shortcode\";s:15:\"s-3c8f78bb9323f\";s:9:\"isPrimary\";s:1:\"1\";s:4:\"name\";s:17:\"Lead List Cleaner\";s:11:\"description\";s:158:\"Clean and standardize B2B lead lists in your browser\u2014remove duplicates, trim fields, normalize email case, preview results, and download a ready-to-use CSV.\";s:14:\"reviewLocation\";s:6:\"custom\";s:23:\"reviewLocationShortcode\";s:24:\"[rank_math_rich_snippet]\";}s:5:\"@type\";s:19:\"SoftwareApplication\";s:4:\"name\";s:17:\"Lead List Cleaner\";s:11:\"description\";s:158:\"Clean and standardize B2B lead lists in your browser\u2014remove duplicates, trim fields, normalize email case, preview results, and download a ready-to-use CSV.\";s:15:\"operatingSystem\";s:11:\"Web Browser\";s:19:\"applicationCategory\";s:19:\"BusinessApplication\";s:6:\"offers\";a:4:{s:5:\"@type\";s:5:\"Offer\";s:5:\"price\";s:1:\"0\";s:13:\"priceCurrency\";s:3:\"USD\";s:12:\"availability\";s:7:\"InStock\";}s:5:\"image\";s:84:\"https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share.webp\";s:3:\"url\";s:46:\"https:\/\/tradegoai.app\/tools\/lead-list-cleaner\/\";}"],"_thumbnail_id":["9574"],"wp_statistics_words_count":["1"],"astra_style_timestamp_css":["1787212258"],"_uag_page_assets":["a:9:{s:3:\"css\";s:4963:\".uag-blocks-common-selector{z-index:var(--z-index-desktop) !important}@media (max-width: 976px){.uag-blocks-common-selector{z-index:var(--z-index-tablet) !important}}@media (max-width: 767px){.uag-blocks-common-selector{z-index:var(--z-index-mobile) !important}}\n.uagb-icon-list__wrap{display:flex;align-items:flex-start;justify-content:flex-start}.wp-block-uagb-icon-list-child{padding:0;transition:all 0.2s;display:inline-flex;color:#3a3a3a;align-items:center;text-decoration:none;box-shadow:none}.wp-block-uagb-icon-list-child span.uagb-icon-list__source-wrap{display:block;align-items:center}.uagb-icon-list__source-wrap svg{display:block}.uagb-icon-list__source-image{width:40px}.uagb-icon-list__outer-wrap .uagb-icon-list__content-wrap{color:#3a3a3a;display:flex;align-items:center}\n.wp-block-uagb-icon-list-child{position:relative}.wp-block-uagb-icon-list-child>a{position:absolute;top:0;left:0;width:100%;height:100%}img.uagb-icon-list__source-image{max-width:unset}.wp-block-uagb-icon-list-child .uagb-icon-list__label{word-break:break-word}\n.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__source-image{width: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap svg{width: 16px;height: 16px;font-size: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap{padding: 0px;border-radius: 0px;border-width: 0px;align-self: center;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__label{text-decoration: !important;font-weight: 600;line-height: em;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__wrap{display: flex;flex-direction: column;justify-content: center;-webkit-box-pack: center;-ms-flex-pack: center;-webkit-box-align: flex-start;-ms-flex-align: flex-start;align-items: flex-start;margin-top: 30px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__label{text-align: left;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child{text-decoration: !important;font-weight: 600;line-height: em;}.wp-block-uagb-icon-list.uagb-block-b5768981.wp-block-uagb-icon-list .wp-block-uagb-icon-list-child{margin-left: 0;margin-right: 0;margin-bottom: 10px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__source-wrap{margin-right: 15px;}.uagb-block-75fa870d.wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap{background:  !important;border-color:  !important;}.uagb-block-75fa870d.wp-block-uagb-icon-list-child:hover .uagb-icon-list__source-wrap{background:  !important;border-color:  !important;}.uagb-block-5bf81fd2.wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap{background:  !important;border-color:  !important;}.uagb-block-5bf81fd2.wp-block-uagb-icon-list-child:hover .uagb-icon-list__source-wrap{background:  !important;border-color:  !important;}@media only screen and (max-width: 976px) {.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__source-image{width: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap svg{width: 16px;height: 16px;font-size: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap {padding: 0px;border-width: 0px;align-self: center;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__wrap{display: flex;flex-direction: column;justify-content: center;-webkit-box-pack: center;-ms-flex-pack: center;-webkit-box-align: flex-start;-ms-flex-align: flex-start;align-items: flex-start;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__label{text-align: left;}.wp-block-uagb-icon-list.uagb-block-b5768981.wp-block-uagb-icon-list .wp-block-uagb-icon-list-child{margin-left: 0;margin-right: 0;margin-bottom: 10px;}}@media only screen and (max-width: 767px) {.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__source-image{width: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__label{text-align: center;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap svg{width: 16px;height: 16px;font-size: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap{padding: 0px;border-width: 0px;align-self: center;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__wrap{display: flex;flex-direction: column;justify-content: center;-webkit-box-pack: center;-ms-flex-pack: center;-webkit-box-align: center;-ms-flex-align: center;align-items: center;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;}.wp-block-uagb-icon-list.uagb-block-b5768981.wp-block-uagb-icon-list .wp-block-uagb-icon-list-child{margin-left: 0;margin-right: 0;margin-bottom: 10px;}}\";s:2:\"js\";s:0:\"\";s:18:\"current_block_list\";a:10:{i:0;s:14:\"core\/shortcode\";i:1;s:11:\"core\/search\";i:2;s:10:\"core\/group\";i:3;s:12:\"core\/heading\";i:4;s:17:\"core\/latest-posts\";i:5;s:20:\"core\/latest-comments\";i:6;s:13:\"core\/archives\";i:7;s:15:\"core\/categories\";i:8;s:14:\"uagb\/icon-list\";i:9;s:20:\"uagb\/icon-list-child\";}s:8:\"uag_flag\";b:1;s:11:\"uag_version\";s:10:\"1787709447\";s:6:\"gfonts\";a:0:{}s:10:\"gfonts_url\";s:0:\"\";s:12:\"gfonts_files\";a:0:{}s:14:\"uag_faq_layout\";b:0;}"],"rank_math_facebook_image":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share.webp"],"rank_math_facebook_image_id":["9574"],"rank_math_twitter_use_facebook":["on"],"rank_math_twitter_card_type":["summary_large_image"],"_uag_css_file_name":["uag-css-9573.css"]},"uagb_featured_image_src":{"full":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share.webp",1200,630,false],"thumbnail":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share-150x150.webp",150,150,true],"medium":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share-300x158.webp",300,158,true],"medium_large":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share-768x403.webp",768,403,true],"large":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share-1024x538.webp",1024,538,true],"1536x1536":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share.webp",1200,630,false],"2048x2048":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share.webp",1200,630,false],"trp-custom-language-flag":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share-18x9.webp",18,9,true]},"uagb_author_info":{"display_name":"xiaoxi99202@gmail.com","author_link":"https:\/\/tradegoai.app\/fr\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"Clean and standardize B2B lead lists in your browser\u2014remove duplicates, trim fields, normalize email case, preview results, and download a ready-to-use CSV.","_links":{"self":[{"href":"https:\/\/tradegoai.app\/fr\/wp-json\/wp\/v2\/tools\/9573","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tradegoai.app\/fr\/wp-json\/wp\/v2\/tools"}],"about":[{"href":"https:\/\/tradegoai.app\/fr\/wp-json\/wp\/v2\/types\/tools"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tradegoai.app\/fr\/wp-json\/wp\/v2\/media\/9574"}],"wp:attachment":[{"href":"https:\/\/tradegoai.app\/fr\/wp-json\/wp\/v2\/media?parent=9573"}],"wp:term":[{"taxonomy":"tool_categories","embeddable":true,"href":"https:\/\/tradegoai.app\/fr\/wp-json\/wp\/v2\/tool_categories?post=9573"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}