{"id":209,"date":"2025-12-04T00:00:53","date_gmt":"2025-12-04T00:00:53","guid":{"rendered":"https:\/\/onlinetexteditor.io\/?page_id=209"},"modified":"2025-12-14T09:32:54","modified_gmt":"2025-12-14T09:32:54","slug":"remove-duplicate-lines","status":"publish","type":"page","link":"https:\/\/onlinetexteditor.io\/ar\/remove-duplicate-lines\/","title":{"rendered":"Remove Duplicate Lines &#8211; Clean Up Lists and Data Sets Instantly"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; theme_builder_area=&#8221;post_content&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221;][et_pb_fullwidth_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; theme_builder_area=&#8221;post_content&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;]<div class=\"rdl-app-root\">\r\n    <style>\r\n        \/* \r\n         * 2025 \"CRYSTAL CLEAR\" DESIGN SYSTEM\r\n         * Namespace: .rdl- (Remove Duplicate Lines)\r\n         * Aesthetic: Precise, Data-Driven, High Contrast\r\n         *\/\r\n        :root {\r\n            \/* Background: Violet to Blue *\/\r\n            --rdl-bg-gradient: linear-gradient(135deg, #8b5cf6 0%, #3b82f6 100%);\r\n            \r\n            \/* Surfaces *\/\r\n            --rdl-panel-bg: rgba(255, 255, 255, 0.96);\r\n            --rdl-backdrop: blur(24px);\r\n            --rdl-surface: #f8fafc;\r\n            --rdl-white: #ffffff;\r\n            \r\n            \/* Colors *\/\r\n            --rdl-primary: #7c3aed; \/* Deep Violet *\/\r\n            --rdl-accent: #3b82f6; \/* Blue *\/\r\n            --rdl-success: #10b981;\r\n            --rdl-danger: #ef4444;\r\n            --rdl-text-main: #1e293b;\r\n            --rdl-text-sub: #64748b;\r\n            --rdl-border: #e2e8f0;\r\n            \r\n            \/* Metrics - STRICT 9px *\/\r\n            --rdl-radius: 9px;\r\n            --rdl-shadow-hero: 0 40px 80px -20px rgba(0, 0, 0, 0.3);\r\n            --rdl-shadow-panel: 0 4px 6px -1px rgba(0,0,0,0.05);\r\n            \r\n            --rdl-font: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\r\n            --rdl-font-mono: \"Menlo\", \"Consolas\", monospace;\r\n        }\r\n\r\n        \/* RESET *\/\r\n        .rdl-app-root {\r\n            font-family: var(--rdl-font);\r\n            background: var(--rdl-bg-gradient);\r\n            width: 100%;\r\n            padding: 40px 15px 80px 15px;\r\n            box-sizing: border-box;\r\n            color: var(--rdl-text-main);\r\n            -webkit-font-smoothing: antialiased;\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n        }\r\n\r\n        .rdl-app-root *, .rdl-app-root *::before, .rdl-app-root *::after {\r\n            box-sizing: inherit;\r\n        }\r\n\r\n        .rdl-container {\r\n            width: 100%;\r\n            margin: 0 auto;\r\n        }\r\n\r\n        @media (min-width: 1200px) {\r\n            .rdl-container { max-width: 1160px; }\r\n        }\r\n\r\n        \/* HEADER *\/\r\n        .rdl-header {\r\n            text-align: center;\r\n            margin-bottom: 30px;\r\n            color: #ffffff;\r\n        }\r\n\r\n        .rdl-title {\r\n\t\t\t\t\t\tcolor: #fff;\r\n            font-size: 32px;\r\n            font-weight: 800;\r\n            margin: 0 0 10px 0;\r\n            letter-spacing: -0.5px;\r\n            text-shadow: 0 4px 15px rgba(0,0,0,0.2);\r\n        }\r\n\r\n        .rdl-desc {\r\n            font-size: 16px;\r\n            font-weight: 500;\r\n            opacity: 0.95;\r\n        }\r\n\r\n        \/* MAIN WRAPPER (1160px) *\/\r\n        .rdl-wrapper {\r\n            background: var(--rdl-panel-bg);\r\n            backdrop-filter: var(--rdl-backdrop);\r\n            -webkit-backdrop-filter: var(--rdl-backdrop);\r\n            border-radius: var(--rdl-radius);\r\n            box-shadow: var(--rdl-shadow-hero);\r\n            border: 1px solid rgba(255,255,255,0.6);\r\n            display: flex;\r\n            flex-direction: column;\r\n            overflow: hidden;\r\n            min-height: 600px;\r\n        }\r\n\r\n        \/* STATS DASHBOARD (Top Strip) *\/\r\n        .rdl-stats-bar {\r\n            background: var(--rdl-white);\r\n            padding: 20px 24px;\r\n            border-bottom: 1px solid var(--rdl-border);\r\n            display: flex;\r\n            flex-wrap: wrap;\r\n            gap: 20px;\r\n            justify-content: space-around;\r\n            align-items: center;\r\n        }\r\n\r\n        .rdl-stat-item {\r\n            text-align: center;\r\n            flex: 1;\r\n            min-width: 100px;\r\n        }\r\n\r\n        .rdl-stat-val {\r\n            display: block;\r\n            font-size: 24px;\r\n            font-weight: 800;\r\n            color: var(--rdl-primary);\r\n            line-height: 1.2;\r\n        }\r\n        \r\n        .rdl-stat-val.highlight { color: var(--rdl-success); }\r\n        .rdl-stat-val.removed { color: var(--rdl-danger); }\r\n\r\n        .rdl-stat-label {\r\n            font-size: 11px;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.5px;\r\n            color: var(--rdl-text-sub);\r\n            font-weight: 700;\r\n        }\r\n\r\n        \/* CONTROLS (Below Stats) *\/\r\n        .rdl-controls {\r\n            padding: 15px 24px;\r\n            background: var(--rdl-surface);\r\n            border-bottom: 1px solid var(--rdl-border);\r\n            display: flex;\r\n            flex-wrap: wrap;\r\n            gap: 20px;\r\n            align-items: center;\r\n        }\r\n\r\n        .rdl-checkbox {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n            font-size: 13px;\r\n            font-weight: 600;\r\n            color: var(--rdl-text-main);\r\n            cursor: pointer;\r\n            user-select: none;\r\n        }\r\n\r\n        .rdl-checkbox input {\r\n            accent-color: var(--rdl-primary);\r\n            width: 16px;\r\n            height: 16px;\r\n        }\r\n\r\n        \/* GRID LAYOUT *\/\r\n        .rdl-grid {\r\n            display: flex;\r\n            flex-direction: column;\r\n            flex-grow: 1;\r\n        }\r\n\r\n        @media (min-width: 900px) {\r\n            .rdl-grid {\r\n                flex-direction: row;\r\n            }\r\n        }\r\n\r\n        \/* PANELS *\/\r\n        .rdl-panel {\r\n            flex: 1;\r\n            padding: 24px;\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 15px;\r\n        }\r\n\r\n        .rdl-panel.input {\r\n            background: rgba(255,255,255,0.5);\r\n            border-bottom: 1px solid var(--rdl-border);\r\n        }\r\n\r\n        @media (min-width: 900px) {\r\n            .rdl-panel.input {\r\n                border-bottom: none;\r\n                border-right: 1px solid var(--rdl-border);\r\n                width: 50%;\r\n            }\r\n            .rdl-panel.output {\r\n                width: 50%;\r\n            }\r\n        }\r\n\r\n        \/* PANEL HEADERS *\/\r\n        .rdl-panel-head {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n        }\r\n\r\n        .rdl-label {\r\n            font-size: 11px;\r\n            text-transform: uppercase;\r\n            font-weight: 800;\r\n            color: var(--rdl-text-sub);\r\n            letter-spacing: 0.5px;\r\n        }\r\n\r\n        .rdl-btn-sm {\r\n            background: none;\r\n            border: none;\r\n            color: var(--rdl-text-sub);\r\n            font-size: 11px;\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            text-transform: uppercase;\r\n            transition: color 0.2s;\r\n        }\r\n        .rdl-btn-sm:hover { color: var(--rdl-primary); }\r\n        .rdl-btn-sm.danger:hover { color: var(--rdl-danger); }\r\n\r\n        \/* TEXT AREAS *\/\r\n        .rdl-textarea {\r\n            width: 100%;\r\n            flex-grow: 1;\r\n            min-height: 280px;\r\n            padding: 16px;\r\n            font-size: 15px;\r\n            font-family: var(--rdl-font-mono);\r\n            line-height: 1.6;\r\n            color: var(--rdl-text-main);\r\n            border: 2px solid transparent;\r\n            border-radius: var(--rdl-radius);\r\n            background: var(--rdl-white);\r\n            resize: none;\r\n            outline: none;\r\n            box-shadow: var(--rdl-shadow-panel);\r\n            transition: all 0.2s;\r\n            white-space: pre;\r\n        }\r\n\r\n        .rdl-textarea:focus {\r\n            border-color: var(--rdl-primary);\r\n            box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.1);\r\n        }\r\n\r\n        .rdl-textarea.readonly {\r\n            background: #f1f5f9;\r\n            color: var(--rdl-text-main);\r\n        }\r\n\r\n        \/* MAIN ACTION BUTTON *\/\r\n        .rdl-copy-btn {\r\n            background: var(--rdl-primary);\r\n            color: white;\r\n            border: none;\r\n            padding: 12px;\r\n            border-radius: var(--rdl-radius);\r\n            font-size: 14px;\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            transition: transform 0.2s, background 0.2s;\r\n            box-shadow: 0 4px 10px rgba(124, 58, 237, 0.25);\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            gap: 8px;\r\n        }\r\n\r\n        .rdl-copy-btn:hover {\r\n            transform: translateY(-2px);\r\n            background: #6d28d9;\r\n        }\r\n\r\n        \/* TOAST *\/\r\n        .rdl-toast {\r\n            position: fixed;\r\n            bottom: 30px;\r\n            left: 50%;\r\n            transform: translateX(-50%) translateY(100px);\r\n            background: #1e293b;\r\n            color: white;\r\n            padding: 12px 28px;\r\n            border-radius: 50px;\r\n            font-size: 13px;\r\n            font-weight: 600;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            opacity: 0;\r\n            transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s;\r\n            z-index: 1000;\r\n            box-shadow: 0 10px 25px rgba(0,0,0,0.3);\r\n        }\r\n        \r\n        .rdl-toast.show {\r\n            transform: translateX(-50%) translateY(0);\r\n            opacity: 1;\r\n        }\r\n\r\n        \/* TABLET STYLES *\/\r\n        @media (min-width: 768px) and (max-width: 1024px) {\r\n            .rdl-app-root {\r\n                padding: 30px 15px 60px 15px;\r\n            }\r\n            \r\n            .rdl-header {\r\n                margin-bottom: 25px;\r\n            }\r\n            \r\n            .rdl-title {\r\n                font-size: 28px;\r\n            }\r\n            \r\n            .rdl-desc {\r\n                font-size: 15px;\r\n            }\r\n            \r\n            .rdl-stats-bar {\r\n                padding: 16px 20px;\r\n                gap: 15px;\r\n            }\r\n            \r\n            .rdl-stat-val {\r\n                font-size: 22px;\r\n            }\r\n            \r\n            .rdl-stat-label {\r\n                font-size: 10px;\r\n            }\r\n            \r\n            .rdl-controls {\r\n                padding: 12px 20px;\r\n                gap: 15px;\r\n            }\r\n            \r\n            .rdl-checkbox {\r\n                font-size: 12px;\r\n            }\r\n            \r\n            .rdl-panel {\r\n                padding: 20px;\r\n                gap: 12px;\r\n            }\r\n            \r\n            .rdl-textarea {\r\n                min-height: 240px;\r\n                padding: 14px;\r\n                font-size: 14px;\r\n            }\r\n            \r\n            .rdl-copy-btn {\r\n                padding: 10px;\r\n                font-size: 13px;\r\n            }\r\n            \r\n            .rdl-toast {\r\n                padding: 10px 24px;\r\n                font-size: 12px;\r\n            }\r\n        }\r\n\r\n        \/* MOBILE STYLES *\/\r\n        @media (max-width: 767px) {\r\n            .rdl-app-root {\r\n                padding: 20px 10px 40px 10px;\r\n            }\r\n            \r\n            .rdl-header {\r\n                margin-bottom: 20px;\r\n            }\r\n            \r\n            .rdl-title {\r\n                font-size: 23px;\r\n            }\r\n            \r\n            .rdl-desc {\r\n                font-size: 14px;\r\n            }\r\n            \r\n            .rdl-wrapper {\r\n                min-height: 500px;\r\n            }\r\n            \r\n            .rdl-stats-bar {\r\n                padding: 12px 15px;\r\n                gap: 10px;\r\n            }\r\n            \r\n            .rdl-stat-item {\r\n                min-width: 80px;\r\n            }\r\n            \r\n            .rdl-stat-val {\r\n                font-size: 18px;\r\n            }\r\n            \r\n            .rdl-stat-label {\r\n                font-size: 9px;\r\n            }\r\n            \r\n            .rdl-controls {\r\n                padding: 10px 15px;\r\n                gap: 12px;\r\n            }\r\n            \r\n            .rdl-checkbox {\r\n                font-size: 11px;\r\n            }\r\n            \r\n            .rdl-checkbox input {\r\n                width: 14px;\r\n                height: 14px;\r\n            }\r\n            \r\n            .rdl-panel {\r\n                padding: 15px;\r\n                gap: 10px;\r\n            }\r\n            \r\n            .rdl-textarea {\r\n                min-height: 200px;\r\n                padding: 12px;\r\n                font-size: 13px;\r\n            }\r\n            \r\n            .rdl-copy-btn {\r\n                padding: 8px;\r\n                font-size: 12px;\r\n            }\r\n            \r\n            .rdl-toast {\r\n                padding: 8px 20px;\r\n                font-size: 11px;\r\n                bottom: 20px;\r\n            }\r\n        }\r\n    <\/style>\r\n\r\n    <div class=\"rdl-container\">\r\n        \r\n        <header class=\"rdl-header\">\r\n            <h1 class=\"rdl-title\">Remove Duplicate Lines - Clean Up Lists and Data Sets Instantly<\/h1>\r\n            <p class=\"rdl-desc\">Clean up your lists by instantly removing repeating text entries.<\/p>\r\n        <\/header>\r\n\r\n        <div class=\"rdl-wrapper\">\r\n            \r\n            <!-- Real-Time Stats -->\r\n            <div class=\"rdl-stats-bar\">\r\n                <div class=\"rdl-stat-item\">\r\n                    <span class=\"rdl-stat-val\" id=\"rdlOriginal\">0<\/span>\r\n                    <span class=\"rdl-stat-label\">Original Lines<\/span>\r\n                <\/div>\r\n                <div class=\"rdl-stat-item\">\r\n                    <span class=\"rdl-stat-val highlight\" id=\"rdlUnique\">0<\/span>\r\n                    <span class=\"rdl-stat-label\">Unique Lines<\/span>\r\n                <\/div>\r\n                <div class=\"rdl-stat-item\">\r\n                    <span class=\"rdl-stat-val removed\" id=\"rdlRemoved\">0<\/span>\r\n                    <span class=\"rdl-stat-label\">Removed<\/span>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Configuration -->\r\n            <div class=\"rdl-controls\">\r\n                <label class=\"rdl-checkbox\">\r\n                    <input type=\"checkbox\" id=\"rdlCaseSensitive\"> Case Sensitive\r\n                <\/label>\r\n                <label class=\"rdl-checkbox\">\r\n                    <input type=\"checkbox\" id=\"rdlTrim\" checked> Trim Whitespace\r\n                <\/label>\r\n                <label class=\"rdl-checkbox\">\r\n                    <input type=\"checkbox\" id=\"rdlEmpty\" checked> Remove Empty Lines\r\n                <\/label>\r\n            <\/div>\r\n\r\n            <!-- Workspace -->\r\n            <div class=\"rdl-grid\">\r\n                \r\n                <!-- Input -->\r\n                <div class=\"rdl-panel input\">\r\n                    <div class=\"rdl-panel-head\">\r\n                        <span class=\"rdl-label\">Dirty List<\/span>\r\n                        <button id=\"rdlClear\" class=\"rdl-btn-sm danger\">Clear<\/button>\r\n                    <\/div>\r\n                    <textarea id=\"rdlInput\" class=\"rdl-textarea\" placeholder=\"Paste your list here...\r\nApple\r\nBanana\r\nApple\r\nOrange\r\nBanana\"><\/textarea>\r\n                <\/div>\r\n\r\n                <!-- Output -->\r\n                <div class=\"rdl-panel output\">\r\n                    <div class=\"rdl-panel-head\">\r\n                        <span class=\"rdl-label\">Clean List<\/span>\r\n                        <button id=\"rdlPaste\" class=\"rdl-btn-sm\">Paste Input<\/button>\r\n                    <\/div>\r\n                    <textarea id=\"rdlOutput\" class=\"rdl-textarea readonly\" readonly placeholder=\"Unique results appear here...\"><\/textarea>\r\n                    <button id=\"rdlCopy\" class=\"rdl-copy-btn\">\r\n                        <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\"><\/rect><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"><\/path><\/svg>\r\n                        Copy Unique Lines\r\n                    <\/button>\r\n                <\/div>\r\n\r\n            <\/div>\r\n\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Toast -->\r\n    <div id=\"rdlToast\" class=\"rdl-toast\">\r\n        <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\r\n        <span>Cleaned list copied!<\/span>\r\n    <\/div>\r\n\r\n    <script>\r\n(function () {\r\n  const el = {\r\n    in: document.getElementById(\"rdlInput\"),\r\n    out: document.getElementById(\"rdlOutput\"),\r\n    statOrig: document.getElementById(\"rdlOriginal\"),\r\n    statUniq: document.getElementById(\"rdlUnique\"),\r\n    statRem: document.getElementById(\"rdlRemoved\"),\r\n    optCase: document.getElementById(\"rdlCaseSensitive\"),\r\n    optTrim: document.getElementById(\"rdlTrim\"),\r\n    optEmpty: document.getElementById(\"rdlEmpty\"),\r\n    clear: document.getElementById(\"rdlClear\"),\r\n    copy: document.getElementById(\"rdlCopy\"),\r\n    paste: document.getElementById(\"rdlPaste\"),\r\n    toast: document.getElementById(\"rdlToast\"),\r\n  };\r\n\r\n  function process() {\r\n    const text = el.in.value || \"\";\r\n    const rawLines = text.split(\/\\r\\n|\\r|\\n\/);\r\n\r\n    const doTrim = el.optTrim.checked;\r\n    const removeEmpty = el.optEmpty.checked;\r\n    const caseSensitive = el.optCase.checked;\r\n\r\n    \/\/ If user input is totally empty, keep everything clean\r\n    if (text.length === 0) {\r\n      el.out.value = \"\";\r\n      setStats(0, 0, 0);\r\n      return;\r\n    }\r\n\r\n    const seen = new Set();\r\n    const cleanLines = [];\r\n\r\n    let removedDuplicates = 0;\r\n    let removedEmptyCount = 0;\r\n\r\n    for (let i = 0; i < rawLines.length; i++) {\r\n      const originalLine = rawLines[i];\r\n      const processedLine = doTrim ? originalLine.trim() : originalLine;\r\n\r\n      \/\/ Empty-line handling (more accurate)\r\n      if (processedLine === \"\") {\r\n        if (removeEmpty) {\r\n          removedEmptyCount++;\r\n          continue; \/\/ drop it\r\n        } else {\r\n          \/\/ keep ALL empty lines; do not dedupe them\r\n          cleanLines.push(\"\");\r\n          continue;\r\n        }\r\n      }\r\n\r\n      const key = caseSensitive ? processedLine : processedLine.toLowerCase();\r\n\r\n      if (seen.has(key)) {\r\n        removedDuplicates++;\r\n        continue;\r\n      }\r\n\r\n      seen.add(key);\r\n      cleanLines.push(processedLine);\r\n    }\r\n\r\n    el.out.value = cleanLines.join(\"\\n\");\r\n\r\n    const removedTotal = removedDuplicates + removedEmptyCount;\r\n    setStats(rawLines.length, cleanLines.length, removedTotal);\r\n  }\r\n\r\n  function setStats(original, unique, removed) {\r\n    el.statOrig.textContent = String(original);\r\n    el.statUniq.textContent = String(unique);\r\n    el.statRem.textContent = String(removed);\r\n  }\r\n\r\n  async function copyResult() {\r\n    if (!el.out.value) return;\r\n    try {\r\n      await navigator.clipboard.writeText(el.out.value);\r\n      showToast();\r\n    } catch (e) {\r\n      el.out.focus();\r\n      el.out.select();\r\n      document.execCommand(\"copy\");\r\n      showToast();\r\n    }\r\n  }\r\n\r\n  async function pasteInput() {\r\n    try {\r\n      const text = await navigator.clipboard.readText();\r\n      el.in.value = text;\r\n      process();\r\n    } catch (e) {\r\n      \/\/ permission denied; do nothing\r\n    }\r\n  }\r\n\r\n  let tTimer;\r\n  function showToast() {\r\n    el.toast.classList.add(\"show\");\r\n    clearTimeout(tTimer);\r\n    tTimer = setTimeout(() => el.toast.classList.remove(\"show\"), 2000);\r\n  }\r\n\r\n  el.in.addEventListener(\"input\", process);\r\n  [el.optCase, el.optTrim, el.optEmpty].forEach((opt) => {\r\n    opt.addEventListener(\"change\", process);\r\n  });\r\n\r\n  el.clear.addEventListener(\"click\", () => {\r\n    el.in.value = \"\";\r\n    process();\r\n    el.in.focus();\r\n  });\r\n\r\n  el.copy.addEventListener(\"click\", copyResult);\r\n  el.paste.addEventListener(\"click\", pasteInput);\r\n\r\n  process();\r\n})();\r\n<\/script>\r\n\r\n<\/div>\r\n\r\n<!-- \r\n============================================\r\nSUPPORTIVE SEO CONTENT STARTS HERE\r\n============================================\r\n- Keyword: \"Remove Duplicate Lines\"\r\n- Place this entire block after the \"rdl-app-root\" div.\r\n- Uses separate 'rdl-info-*' classes to avoid any conflicts.\r\n- Perfectly matches the provided tool's \"Crystal Clear\" aesthetic with alternating backgrounds.\r\n-->\r\n<div class=\"rdl-info-main-wrapper\">\r\n\r\n    <!-- CSS STYLES FOR SUPPORTIVE CONTENT -->\r\n    <style>\r\n        .rdl-info-main-wrapper {\r\n            width: 100%;\r\n            font-family: var(--rdl-font, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif);\r\n            color: var(--rdl-text-main, #1e293b);\r\n        }\r\n\r\n        .rdl-info-section-wrapper {\r\n            width: 100%;\r\n            padding: 60px 15px;\r\n        }\r\n\r\n        .rdl-info-section-wrapper.bg-gradient {\r\n            background: var(--rdl-bg-gradient, linear-gradient(135deg, #8b5cf6 0%, #3b82f6 100%));\r\n        }\r\n        \r\n        .rdl-info-section-wrapper.bg-white {\r\n            background: var(--rdl-white, #ffffff);\r\n        }\r\n\r\n        .rdl-info-container {\r\n            width: 100%;\r\n            max-width: 1160px;\r\n            margin: 0 auto;\r\n        }\r\n\r\n        .rdl-info-section-header {\r\n            text-align: center;\r\n            margin-bottom: 40px;\r\n        }\r\n        \r\n        .rdl-info-section-title {\r\n            font-size: clamp(1.5rem, 4vw, 2.5rem);\r\n            font-weight: 800;\r\n            margin: 0 0 10px 0;\r\n            letter-spacing: -0.5px;\r\n        }\r\n        \r\n        \/* Different title colors for different backgrounds *\/\r\n        .bg-gradient .rdl-info-section-title {\r\n            color: #ffffff;\r\n            text-shadow: 0 4px 15px rgba(0,0,0,0.15);\r\n        }\r\n        \r\n        .bg-white .rdl-info-section-title {\r\n            color: var(--rdl-text-main, #1e293b);\r\n        }\r\n        \r\n        .rdl-info-section-subtitle {\r\n            font-size: 16px;\r\n            font-weight: 500;\r\n            max-width: 700px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .bg-gradient .rdl-info-section-subtitle {\r\n            color: rgba(255, 255, 255, 0.95);\r\n        }\r\n        \r\n        .bg-white .rdl-info-section-subtitle {\r\n            color: var(--rdl-text-sub, #64748b);\r\n        }\r\n\r\n        .rdl-info-card-layout {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\r\n            gap: 24px;\r\n        }\r\n        \r\n        .rdl-info-card {\r\n            \/* Replicating the tool's card style *\/\r\n            background: var(--rdl-white, #ffffff);\r\n            border-radius: var(--rdl-radius, 9px);\r\n            padding: 25px;\r\n            box-shadow: var(--rdl-shadow-panel, 0 4px 6px -1px rgba(0,0,0,0.05));\r\n            border: 2px solid var(--rdl-border, #e2e8f0);\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            text-align: left;\r\n        }\r\n        \r\n        .rdl-info-card:hover {\r\n            transform: translateY(-4px);\r\n            box-shadow: 0 12px 20px -5px rgba(124, 58, 237, 0.2);\r\n            border-color: var(--rdl-primary, #7c3aed);\r\n        }\r\n\r\n        .rdl-info-card-title {\r\n            font-size: 20px;\r\n            font-weight: 700;\r\n            color: var(--rdl-text-main, #1e293b);\r\n            margin-bottom: 15px;\r\n        }\r\n\r\n        .rdl-info-card p, .rdl-info-card li {\r\n            font-size: 1rem; \r\n            line-height: 1.7;\r\n            color: var(--rdl-text-sub, #64748b);\r\n            margin-bottom: 15px;\r\n        }\r\n        \r\n        .rdl-info-card ul {\r\n            list-style: none;\r\n            padding-left: 0;\r\n        }\r\n        \r\n        .rdl-info-card li {\r\n            padding-left: 25px;\r\n            position: relative;\r\n        }\r\n        \r\n        .rdl-info-card li::before {\r\n            content: '\u2713';\r\n            position: absolute;\r\n            left: 0;\r\n            top: 6px;\r\n            color: var(--rdl-primary, #7c3aed);\r\n            font-weight: bold;\r\n        }\r\n\r\n        .rdl-info-card strong {\r\n            color: var(--rdl-text-main, #1e293b);\r\n            font-weight: 600;\r\n        }\r\n    <\/style>\r\n\t    <div class=\"rdl-info-section-wrapper bg-white\">\r\n        <div class=\"rdl-info-container\">\r\n\t\t\t\t\t\r\n\t\t\t\t<\/div>\r\n\t    <\/div>\r\n    <!-- ========= SECTION 1: What is a \"Remove Duplicate Lines\" Tool? ========= -->\r\n    <div class=\"rdl-info-section-wrapper bg-white\">\r\n        <div class=\"rdl-info-container\">\r\n            <header class=\"rdl-info-section-header\">\r\n                <h2 class=\"rdl-info-section-title\">What is a \"Remove Duplicate Lines\" Tool?<\/h2>\r\n                <p class=\"rdl-info-section-subtitle\">Discover how this essential utility can instantly deduplicate and clean your text-based lists.<\/p>\r\n            <\/header>\r\n            <div class=\"rdl-info-card-layout\">\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">A Digital Data Cleaner<\/h3>\r\n                    <p>A <strong>Remove Duplicate Lines<\/strong> tool is a simple yet powerful utility that processes a list of text and removes any lines that are repeated. Instead of manually searching for and deleting duplicates, you can paste a list of any size and instantly get a clean, unique version. It's a fundamental tool for data cleaning and list management.<\/p>\r\n                <\/div>\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">Real-Time Data Dashboard<\/h3>\r\n                    <p>This isn't just a simple input-output tool. The live stats dashboard at the top gives you an immediate, real-time analysis of your data as you type:<\/p>\r\n                    <ul>\r\n                        <li><strong>Original Lines:<\/strong> The total number of lines in your input.<\/li>\r\n                        <li><strong>Unique Lines:<\/strong> The final count of lines after duplicates are removed.<\/li>\r\n                        <li><strong>Removed:<\/strong> The exact number of duplicate lines that were found and deleted.<\/li>\r\n                    <\/ul>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- ========= SECTION 2: Why Remove Duplicate Lines? ========= -->\r\n    <div class=\"rdl-info-section-wrapper bg-gradient\">\r\n        <div class=\"rdl-info-container\">\r\n            <header class=\"rdl-info-section-header\">\r\n                <h2 class=\"rdl-info-section-title\">Why Remove Duplicate Lines?<\/h2>\r\n                <p class=\"rdl-info-section-subtitle\">This utility has a wide range of practical applications, from cleaning marketing lists to preparing data for software.<\/p>\r\n            <\/header>\r\n            <div class=\"rdl-info-card-layout\">\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">Data Cleaning & Integrity<\/h3>\r\n                    <p>Duplicate entries are a common problem in any data set. Removing them is crucial for:<\/p>\r\n                    <ul>\r\n                        <li><strong>Email & Marketing Lists:<\/strong> Ensure you're not sending the same message to a subscriber multiple times by cleaning your email list.<\/li>\r\n                        <li><strong>Keyword Research:<\/strong> Deduplicate large lists of keywords from SEO tools to get an accurate count of unique terms.<\/li>\r\n                        <li><strong>Data Analysis:<\/strong> Clean raw data from spreadsheets or databases to prevent errors in your calculations and reports.<\/li>\r\n                    <\/ul>\r\n                <\/div>\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">Simplifying and Organizing<\/h3>\r\n                    <p>A clean, unique list is easier to work with and understand.<\/p>\r\n                    <ul>\r\n                        <li><strong>Contact Lists:<\/strong> Merge and clean contact lists from different sources to create a single, unique master list.<\/li>\r\n                        <li><strong>To-Do Lists:<\/strong> Combine multiple to-do lists and remove any repeated tasks for a clear, actionable plan.<\/li>\r\n                        <li><strong>Programming:<\/strong> Clean lists of variables, class names, or other data before using them in code to avoid errors.<\/li>\r\n                    <\/ul>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- ========= SECTION 3: How to Use the Tool ========= -->\r\n    <div class=\"rdl-info-section-wrapper bg-white\">\r\n        <div class=\"rdl-info-container\">\r\n            <header class=\"rdl-info-section-header\">\r\n                <h2 class=\"rdl-info-section-title\">How to Use the Tool<\/h2>\r\n                <p class=\"rdl-info-section-subtitle\">Our tool is designed for maximum speed and efficiency with a clear, two-panel layout and powerful options.<\/p>\r\n            <\/header>\r\n            <div class=\"rdl-info-card-layout\">\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">A Simple 2-Step Process<\/h3>\r\n                    <ol style=\"list-style-position: inside; padding-left: 5px; color: var(--rdl-text-sub);\">\r\n                        <li style=\"margin-bottom: 10px;\"><strong>Paste Your List:<\/strong> Copy the list you want to clean and paste it into the \"Dirty List\" input box on the left.<\/li>\r\n                        <li style=\"margin-bottom: 10px;\"><strong>Copy the Result:<\/strong> The \"Clean List\" on the right will update instantly, showing only the unique lines. Use the \"Copy Unique Lines\" button to copy it to your clipboard.<\/li>\r\n                    <\/ol>\r\n                <\/div>\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">Advanced Cleaning Options<\/h3>\r\n                    <p>Fine-tune the cleaning process with these powerful settings:<\/p>\r\n                    <ul>\r\n                        <li><strong>Case Sensitive:<\/strong> When checked, \"Apple\" and \"apple\" are treated as two different lines. When unchecked, they are treated as duplicates.<\/li>\r\n                        <li><strong>Trim Whitespace:<\/strong> Automatically removes any accidental spaces from the beginning or end of each line before comparing them.<\/li>\r\n                        <li><strong>Remove Empty Lines:<\/strong> Instantly deletes any blank lines from your list for a perfectly compact result.<\/li>\r\n                    <\/ul>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- ========= SECTION 4: For Everyone Who Works With Lists ========= -->\r\n    <div class=\"rdl-info-section-wrapper bg-gradient\">\r\n        <div class=\"rdl-info-container\">\r\n            <header class=\"rdl-info-section-header\">\r\n                <h2 class=\"rdl-info-section-title\">For Everyone Who Works With Lists<\/h2>\r\n                <p class=\"rdl-info-section-subtitle\">This is a versatile utility for developers, marketers, students, and anyone who needs to manage text data efficiently.<\/p>\r\n            <\/header>\r\n            <div class=\"rdl-info-card-layout\">\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">For SEOs & Marketers<\/h3>\r\n                    <p>Instantly clean and deduplicate keyword lists exported from tools like Ahrefs or Semrush. Merge multiple email lists and remove duplicate subscribers before an import. Organize messy content ideas into a clean, unique list.<\/p>\r\n                <\/div>\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">For Developers & Data Analysts<\/h3>\r\n                    <p>Quickly find unique values in a log file, database export, or any other text-based data set. Sanitize user-generated lists by removing duplicates and empty lines before processing them in your application.<\/p>\r\n                <\/div>\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">For Everyday Use<\/h3>\r\n                    <p>This tool is perfect for everyday tasks. Combine shopping lists from different family members, organize a list of names for an event, or clean up any list you've copied from a website or document. It's a simple, powerful tool for bringing order to information.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n<\/div>\r\n<!-- SUPPORTIVE SEO CONTENT ENDS HERE -->[\/et_pb_fullwidth_code][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"rdl-app-root\">\r\n    <style>\r\n        \/* \r\n         * 2025 \"CRYSTAL CLEAR\" DESIGN SYSTEM\r\n         * Namespace: .rdl- (Remove Duplicate Lines)\r\n         * Aesthetic: Precise, Data-Driven, High Contrast\r\n         *\/\r\n        :root {\r\n            \/* Background: Violet to Blue *\/\r\n            --rdl-bg-gradient: linear-gradient(135deg, #8b5cf6 0%, #3b82f6 100%);\r\n            \r\n            \/* Surfaces *\/\r\n            --rdl-panel-bg: rgba(255, 255, 255, 0.96);\r\n            --rdl-backdrop: blur(24px);\r\n            --rdl-surface: #f8fafc;\r\n            --rdl-white: #ffffff;\r\n            \r\n            \/* Colors *\/\r\n            --rdl-primary: #7c3aed; \/* Deep Violet *\/\r\n            --rdl-accent: #3b82f6; \/* Blue *\/\r\n            --rdl-success: #10b981;\r\n            --rdl-danger: #ef4444;\r\n            --rdl-text-main: #1e293b;\r\n            --rdl-text-sub: #64748b;\r\n            --rdl-border: #e2e8f0;\r\n            \r\n            \/* Metrics - STRICT 9px *\/\r\n            --rdl-radius: 9px;\r\n            --rdl-shadow-hero: 0 40px 80px -20px rgba(0, 0, 0, 0.3);\r\n            --rdl-shadow-panel: 0 4px 6px -1px rgba(0,0,0,0.05);\r\n            \r\n            --rdl-font: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\r\n            --rdl-font-mono: \"Menlo\", \"Consolas\", monospace;\r\n        }\r\n\r\n        \/* RESET *\/\r\n        .rdl-app-root {\r\n            font-family: var(--rdl-font);\r\n            background: var(--rdl-bg-gradient);\r\n            width: 100%;\r\n            padding: 40px 15px 80px 15px;\r\n            box-sizing: border-box;\r\n            color: var(--rdl-text-main);\r\n            -webkit-font-smoothing: antialiased;\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n        }\r\n\r\n        .rdl-app-root *, .rdl-app-root *::before, .rdl-app-root *::after {\r\n            box-sizing: inherit;\r\n        }\r\n\r\n        .rdl-container {\r\n            width: 100%;\r\n            margin: 0 auto;\r\n        }\r\n\r\n        @media (min-width: 1200px) {\r\n            .rdl-container { max-width: 1160px; }\r\n        }\r\n\r\n        \/* HEADER *\/\r\n        .rdl-header {\r\n            text-align: center;\r\n            margin-bottom: 30px;\r\n            color: #ffffff;\r\n        }\r\n\r\n        .rdl-title {\r\n\t\t\t\t\t\tcolor: #fff;\r\n            font-size: 32px;\r\n            font-weight: 800;\r\n            margin: 0 0 10px 0;\r\n            letter-spacing: -0.5px;\r\n            text-shadow: 0 4px 15px rgba(0,0,0,0.2);\r\n        }\r\n\r\n        .rdl-desc {\r\n            font-size: 16px;\r\n            font-weight: 500;\r\n            opacity: 0.95;\r\n        }\r\n\r\n        \/* MAIN WRAPPER (1160px) *\/\r\n        .rdl-wrapper {\r\n            background: var(--rdl-panel-bg);\r\n            backdrop-filter: var(--rdl-backdrop);\r\n            -webkit-backdrop-filter: var(--rdl-backdrop);\r\n            border-radius: var(--rdl-radius);\r\n            box-shadow: var(--rdl-shadow-hero);\r\n            border: 1px solid rgba(255,255,255,0.6);\r\n            display: flex;\r\n            flex-direction: column;\r\n            overflow: hidden;\r\n            min-height: 600px;\r\n        }\r\n\r\n        \/* STATS DASHBOARD (Top Strip) *\/\r\n        .rdl-stats-bar {\r\n            background: var(--rdl-white);\r\n            padding: 20px 24px;\r\n            border-bottom: 1px solid var(--rdl-border);\r\n            display: flex;\r\n            flex-wrap: wrap;\r\n            gap: 20px;\r\n            justify-content: space-around;\r\n            align-items: center;\r\n        }\r\n\r\n        .rdl-stat-item {\r\n            text-align: center;\r\n            flex: 1;\r\n            min-width: 100px;\r\n        }\r\n\r\n        .rdl-stat-val {\r\n            display: block;\r\n            font-size: 24px;\r\n            font-weight: 800;\r\n            color: var(--rdl-primary);\r\n            line-height: 1.2;\r\n        }\r\n        \r\n        .rdl-stat-val.highlight { color: var(--rdl-success); }\r\n        .rdl-stat-val.removed { color: var(--rdl-danger); }\r\n\r\n        .rdl-stat-label {\r\n            font-size: 11px;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.5px;\r\n            color: var(--rdl-text-sub);\r\n            font-weight: 700;\r\n        }\r\n\r\n        \/* CONTROLS (Below Stats) *\/\r\n        .rdl-controls {\r\n            padding: 15px 24px;\r\n            background: var(--rdl-surface);\r\n            border-bottom: 1px solid var(--rdl-border);\r\n            display: flex;\r\n            flex-wrap: wrap;\r\n            gap: 20px;\r\n            align-items: center;\r\n        }\r\n\r\n        .rdl-checkbox {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n            font-size: 13px;\r\n            font-weight: 600;\r\n            color: var(--rdl-text-main);\r\n            cursor: pointer;\r\n            user-select: none;\r\n        }\r\n\r\n        .rdl-checkbox input {\r\n            accent-color: var(--rdl-primary);\r\n            width: 16px;\r\n            height: 16px;\r\n        }\r\n\r\n        \/* GRID LAYOUT *\/\r\n        .rdl-grid {\r\n            display: flex;\r\n            flex-direction: column;\r\n            flex-grow: 1;\r\n        }\r\n\r\n        @media (min-width: 900px) {\r\n            .rdl-grid {\r\n                flex-direction: row;\r\n            }\r\n        }\r\n\r\n        \/* PANELS *\/\r\n        .rdl-panel {\r\n            flex: 1;\r\n            padding: 24px;\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 15px;\r\n        }\r\n\r\n        .rdl-panel.input {\r\n            background: rgba(255,255,255,0.5);\r\n            border-bottom: 1px solid var(--rdl-border);\r\n        }\r\n\r\n        @media (min-width: 900px) {\r\n            .rdl-panel.input {\r\n                border-bottom: none;\r\n                border-right: 1px solid var(--rdl-border);\r\n                width: 50%;\r\n            }\r\n            .rdl-panel.output {\r\n                width: 50%;\r\n            }\r\n        }\r\n\r\n        \/* PANEL HEADERS *\/\r\n        .rdl-panel-head {\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n        }\r\n\r\n        .rdl-label {\r\n            font-size: 11px;\r\n            text-transform: uppercase;\r\n            font-weight: 800;\r\n            color: var(--rdl-text-sub);\r\n            letter-spacing: 0.5px;\r\n        }\r\n\r\n        .rdl-btn-sm {\r\n            background: none;\r\n            border: none;\r\n            color: var(--rdl-text-sub);\r\n            font-size: 11px;\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            text-transform: uppercase;\r\n            transition: color 0.2s;\r\n        }\r\n        .rdl-btn-sm:hover { color: var(--rdl-primary); }\r\n        .rdl-btn-sm.danger:hover { color: var(--rdl-danger); }\r\n\r\n        \/* TEXT AREAS *\/\r\n        .rdl-textarea {\r\n            width: 100%;\r\n            flex-grow: 1;\r\n            min-height: 280px;\r\n            padding: 16px;\r\n            font-size: 15px;\r\n            font-family: var(--rdl-font-mono);\r\n            line-height: 1.6;\r\n            color: var(--rdl-text-main);\r\n            border: 2px solid transparent;\r\n            border-radius: var(--rdl-radius);\r\n            background: var(--rdl-white);\r\n            resize: none;\r\n            outline: none;\r\n            box-shadow: var(--rdl-shadow-panel);\r\n            transition: all 0.2s;\r\n            white-space: pre;\r\n        }\r\n\r\n        .rdl-textarea:focus {\r\n            border-color: var(--rdl-primary);\r\n            box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.1);\r\n        }\r\n\r\n        .rdl-textarea.readonly {\r\n            background: #f1f5f9;\r\n            color: var(--rdl-text-main);\r\n        }\r\n\r\n        \/* MAIN ACTION BUTTON *\/\r\n        .rdl-copy-btn {\r\n            background: var(--rdl-primary);\r\n            color: white;\r\n            border: none;\r\n            padding: 12px;\r\n            border-radius: var(--rdl-radius);\r\n            font-size: 14px;\r\n            font-weight: 700;\r\n            cursor: pointer;\r\n            transition: transform 0.2s, background 0.2s;\r\n            box-shadow: 0 4px 10px rgba(124, 58, 237, 0.25);\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            gap: 8px;\r\n        }\r\n\r\n        .rdl-copy-btn:hover {\r\n            transform: translateY(-2px);\r\n            background: #6d28d9;\r\n        }\r\n\r\n        \/* TOAST *\/\r\n        .rdl-toast {\r\n            position: fixed;\r\n            bottom: 30px;\r\n            left: 50%;\r\n            transform: translateX(-50%) translateY(100px);\r\n            background: #1e293b;\r\n            color: white;\r\n            padding: 12px 28px;\r\n            border-radius: 50px;\r\n            font-size: 13px;\r\n            font-weight: 600;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            opacity: 0;\r\n            transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.3s;\r\n            z-index: 1000;\r\n            box-shadow: 0 10px 25px rgba(0,0,0,0.3);\r\n        }\r\n        \r\n        .rdl-toast.show {\r\n            transform: translateX(-50%) translateY(0);\r\n            opacity: 1;\r\n        }\r\n\r\n        \/* TABLET STYLES *\/\r\n        @media (min-width: 768px) and (max-width: 1024px) {\r\n            .rdl-app-root {\r\n                padding: 30px 15px 60px 15px;\r\n            }\r\n            \r\n            .rdl-header {\r\n                margin-bottom: 25px;\r\n            }\r\n            \r\n            .rdl-title {\r\n                font-size: 28px;\r\n            }\r\n            \r\n            .rdl-desc {\r\n                font-size: 15px;\r\n            }\r\n            \r\n            .rdl-stats-bar {\r\n                padding: 16px 20px;\r\n                gap: 15px;\r\n            }\r\n            \r\n            .rdl-stat-val {\r\n                font-size: 22px;\r\n            }\r\n            \r\n            .rdl-stat-label {\r\n                font-size: 10px;\r\n            }\r\n            \r\n            .rdl-controls {\r\n                padding: 12px 20px;\r\n                gap: 15px;\r\n            }\r\n            \r\n            .rdl-checkbox {\r\n                font-size: 12px;\r\n            }\r\n            \r\n            .rdl-panel {\r\n                padding: 20px;\r\n                gap: 12px;\r\n            }\r\n            \r\n            .rdl-textarea {\r\n                min-height: 240px;\r\n                padding: 14px;\r\n                font-size: 14px;\r\n            }\r\n            \r\n            .rdl-copy-btn {\r\n                padding: 10px;\r\n                font-size: 13px;\r\n            }\r\n            \r\n            .rdl-toast {\r\n                padding: 10px 24px;\r\n                font-size: 12px;\r\n            }\r\n        }\r\n\r\n        \/* MOBILE STYLES *\/\r\n        @media (max-width: 767px) {\r\n            .rdl-app-root {\r\n                padding: 20px 10px 40px 10px;\r\n            }\r\n            \r\n            .rdl-header {\r\n                margin-bottom: 20px;\r\n            }\r\n            \r\n            .rdl-title {\r\n                font-size: 23px;\r\n            }\r\n            \r\n            .rdl-desc {\r\n                font-size: 14px;\r\n            }\r\n            \r\n            .rdl-wrapper {\r\n                min-height: 500px;\r\n            }\r\n            \r\n            .rdl-stats-bar {\r\n                padding: 12px 15px;\r\n                gap: 10px;\r\n            }\r\n            \r\n            .rdl-stat-item {\r\n                min-width: 80px;\r\n            }\r\n            \r\n            .rdl-stat-val {\r\n                font-size: 18px;\r\n            }\r\n            \r\n            .rdl-stat-label {\r\n                font-size: 9px;\r\n            }\r\n            \r\n            .rdl-controls {\r\n                padding: 10px 15px;\r\n                gap: 12px;\r\n            }\r\n            \r\n            .rdl-checkbox {\r\n                font-size: 11px;\r\n            }\r\n            \r\n            .rdl-checkbox input {\r\n                width: 14px;\r\n                height: 14px;\r\n            }\r\n            \r\n            .rdl-panel {\r\n                padding: 15px;\r\n                gap: 10px;\r\n            }\r\n            \r\n            .rdl-textarea {\r\n                min-height: 200px;\r\n                padding: 12px;\r\n                font-size: 13px;\r\n            }\r\n            \r\n            .rdl-copy-btn {\r\n                padding: 8px;\r\n                font-size: 12px;\r\n            }\r\n            \r\n            .rdl-toast {\r\n                padding: 8px 20px;\r\n                font-size: 11px;\r\n                bottom: 20px;\r\n            }\r\n        }\r\n    <\/style>\r\n\r\n    <div class=\"rdl-container\">\r\n        \r\n        <header class=\"rdl-header\">\r\n            <h1 class=\"rdl-title\">Remove Duplicate Lines - Clean Up Lists and Data Sets Instantly<\/h1>\r\n            <p class=\"rdl-desc\">Clean up your lists by instantly removing repeating text entries.<\/p>\r\n        <\/header>\r\n\r\n        <div class=\"rdl-wrapper\">\r\n            \r\n            <!-- Real-Time Stats -->\r\n            <div class=\"rdl-stats-bar\">\r\n                <div class=\"rdl-stat-item\">\r\n                    <span class=\"rdl-stat-val\" id=\"rdlOriginal\">0<\/span>\r\n                    <span class=\"rdl-stat-label\">Original Lines<\/span>\r\n                <\/div>\r\n                <div class=\"rdl-stat-item\">\r\n                    <span class=\"rdl-stat-val highlight\" id=\"rdlUnique\">0<\/span>\r\n                    <span class=\"rdl-stat-label\">Unique Lines<\/span>\r\n                <\/div>\r\n                <div class=\"rdl-stat-item\">\r\n                    <span class=\"rdl-stat-val removed\" id=\"rdlRemoved\">0<\/span>\r\n                    <span class=\"rdl-stat-label\">Removed<\/span>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Configuration -->\r\n            <div class=\"rdl-controls\">\r\n                <label class=\"rdl-checkbox\">\r\n                    <input type=\"checkbox\" id=\"rdlCaseSensitive\"> Case Sensitive\r\n                <\/label>\r\n                <label class=\"rdl-checkbox\">\r\n                    <input type=\"checkbox\" id=\"rdlTrim\" checked> Trim Whitespace\r\n                <\/label>\r\n                <label class=\"rdl-checkbox\">\r\n                    <input type=\"checkbox\" id=\"rdlEmpty\" checked> Remove Empty Lines\r\n                <\/label>\r\n            <\/div>\r\n\r\n            <!-- Workspace -->\r\n            <div class=\"rdl-grid\">\r\n                \r\n                <!-- Input -->\r\n                <div class=\"rdl-panel input\">\r\n                    <div class=\"rdl-panel-head\">\r\n                        <span class=\"rdl-label\">Dirty List<\/span>\r\n                        <button id=\"rdlClear\" class=\"rdl-btn-sm danger\">Clear<\/button>\r\n                    <\/div>\r\n                    <textarea id=\"rdlInput\" class=\"rdl-textarea\" placeholder=\"Paste your list here...\r\nApple\r\nBanana\r\nApple\r\nOrange\r\nBanana\"><\/textarea>\r\n                <\/div>\r\n\r\n                <!-- Output -->\r\n                <div class=\"rdl-panel output\">\r\n                    <div class=\"rdl-panel-head\">\r\n                        <span class=\"rdl-label\">Clean List<\/span>\r\n                        <button id=\"rdlPaste\" class=\"rdl-btn-sm\">Paste Input<\/button>\r\n                    <\/div>\r\n                    <textarea id=\"rdlOutput\" class=\"rdl-textarea readonly\" readonly placeholder=\"Unique results appear here...\"><\/textarea>\r\n                    <button id=\"rdlCopy\" class=\"rdl-copy-btn\">\r\n                        <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\"><\/rect><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"><\/path><\/svg>\r\n                        Copy Unique Lines\r\n                    <\/button>\r\n                <\/div>\r\n\r\n            <\/div>\r\n\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Toast -->\r\n    <div id=\"rdlToast\" class=\"rdl-toast\">\r\n        <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\r\n        <span>Cleaned list copied!<\/span>\r\n    <\/div>\r\n\r\n    <script>\r\n(function () {\r\n  const el = {\r\n    in: document.getElementById(\"rdlInput\"),\r\n    out: document.getElementById(\"rdlOutput\"),\r\n    statOrig: document.getElementById(\"rdlOriginal\"),\r\n    statUniq: document.getElementById(\"rdlUnique\"),\r\n    statRem: document.getElementById(\"rdlRemoved\"),\r\n    optCase: document.getElementById(\"rdlCaseSensitive\"),\r\n    optTrim: document.getElementById(\"rdlTrim\"),\r\n    optEmpty: document.getElementById(\"rdlEmpty\"),\r\n    clear: document.getElementById(\"rdlClear\"),\r\n    copy: document.getElementById(\"rdlCopy\"),\r\n    paste: document.getElementById(\"rdlPaste\"),\r\n    toast: document.getElementById(\"rdlToast\"),\r\n  };\r\n\r\n  function process() {\r\n    const text = el.in.value || \"\";\r\n    const rawLines = text.split(\/\\r\\n|\\r|\\n\/);\r\n\r\n    const doTrim = el.optTrim.checked;\r\n    const removeEmpty = el.optEmpty.checked;\r\n    const caseSensitive = el.optCase.checked;\r\n\r\n    \/\/ If user input is totally empty, keep everything clean\r\n    if (text.length === 0) {\r\n      el.out.value = \"\";\r\n      setStats(0, 0, 0);\r\n      return;\r\n    }\r\n\r\n    const seen = new Set();\r\n    const cleanLines = [];\r\n\r\n    let removedDuplicates = 0;\r\n    let removedEmptyCount = 0;\r\n\r\n    for (let i = 0; i < rawLines.length; i++) {\r\n      const originalLine = rawLines[i];\r\n      const processedLine = doTrim ? originalLine.trim() : originalLine;\r\n\r\n      \/\/ Empty-line handling (more accurate)\r\n      if (processedLine === \"\") {\r\n        if (removeEmpty) {\r\n          removedEmptyCount++;\r\n          continue; \/\/ drop it\r\n        } else {\r\n          \/\/ keep ALL empty lines; do not dedupe them\r\n          cleanLines.push(\"\");\r\n          continue;\r\n        }\r\n      }\r\n\r\n      const key = caseSensitive ? processedLine : processedLine.toLowerCase();\r\n\r\n      if (seen.has(key)) {\r\n        removedDuplicates++;\r\n        continue;\r\n      }\r\n\r\n      seen.add(key);\r\n      cleanLines.push(processedLine);\r\n    }\r\n\r\n    el.out.value = cleanLines.join(\"\\n\");\r\n\r\n    const removedTotal = removedDuplicates + removedEmptyCount;\r\n    setStats(rawLines.length, cleanLines.length, removedTotal);\r\n  }\r\n\r\n  function setStats(original, unique, removed) {\r\n    el.statOrig.textContent = String(original);\r\n    el.statUniq.textContent = String(unique);\r\n    el.statRem.textContent = String(removed);\r\n  }\r\n\r\n  async function copyResult() {\r\n    if (!el.out.value) return;\r\n    try {\r\n      await navigator.clipboard.writeText(el.out.value);\r\n      showToast();\r\n    } catch (e) {\r\n      el.out.focus();\r\n      el.out.select();\r\n      document.execCommand(\"copy\");\r\n      showToast();\r\n    }\r\n  }\r\n\r\n  async function pasteInput() {\r\n    try {\r\n      const text = await navigator.clipboard.readText();\r\n      el.in.value = text;\r\n      process();\r\n    } catch (e) {\r\n      \/\/ permission denied; do nothing\r\n    }\r\n  }\r\n\r\n  let tTimer;\r\n  function showToast() {\r\n    el.toast.classList.add(\"show\");\r\n    clearTimeout(tTimer);\r\n    tTimer = setTimeout(() => el.toast.classList.remove(\"show\"), 2000);\r\n  }\r\n\r\n  el.in.addEventListener(\"input\", process);\r\n  [el.optCase, el.optTrim, el.optEmpty].forEach((opt) => {\r\n    opt.addEventListener(\"change\", process);\r\n  });\r\n\r\n  el.clear.addEventListener(\"click\", () => {\r\n    el.in.value = \"\";\r\n    process();\r\n    el.in.focus();\r\n  });\r\n\r\n  el.copy.addEventListener(\"click\", copyResult);\r\n  el.paste.addEventListener(\"click\", pasteInput);\r\n\r\n  process();\r\n})();\r\n<\/script>\r\n\r\n<\/div>\r\n\r\n<!-- \r\n============================================\r\nSUPPORTIVE SEO CONTENT STARTS HERE\r\n============================================\r\n- Keyword: \"Remove Duplicate Lines\"\r\n- Place this entire block after the \"rdl-app-root\" div.\r\n- Uses separate 'rdl-info-*' classes to avoid any conflicts.\r\n- Perfectly matches the provided tool's \"Crystal Clear\" aesthetic with alternating backgrounds.\r\n-->\r\n<div class=\"rdl-info-main-wrapper\">\r\n\r\n    <!-- CSS STYLES FOR SUPPORTIVE CONTENT -->\r\n    <style>\r\n        .rdl-info-main-wrapper {\r\n            width: 100%;\r\n            font-family: var(--rdl-font, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif);\r\n            color: var(--rdl-text-main, #1e293b);\r\n        }\r\n\r\n        .rdl-info-section-wrapper {\r\n            width: 100%;\r\n            padding: 60px 15px;\r\n        }\r\n\r\n        .rdl-info-section-wrapper.bg-gradient {\r\n            background: var(--rdl-bg-gradient, linear-gradient(135deg, #8b5cf6 0%, #3b82f6 100%));\r\n        }\r\n        \r\n        .rdl-info-section-wrapper.bg-white {\r\n            background: var(--rdl-white, #ffffff);\r\n        }\r\n\r\n        .rdl-info-container {\r\n            width: 100%;\r\n            max-width: 1160px;\r\n            margin: 0 auto;\r\n        }\r\n\r\n        .rdl-info-section-header {\r\n            text-align: center;\r\n            margin-bottom: 40px;\r\n        }\r\n        \r\n        .rdl-info-section-title {\r\n            font-size: clamp(1.5rem, 4vw, 2.5rem);\r\n            font-weight: 800;\r\n            margin: 0 0 10px 0;\r\n            letter-spacing: -0.5px;\r\n        }\r\n        \r\n        \/* Different title colors for different backgrounds *\/\r\n        .bg-gradient .rdl-info-section-title {\r\n            color: #ffffff;\r\n            text-shadow: 0 4px 15px rgba(0,0,0,0.15);\r\n        }\r\n        \r\n        .bg-white .rdl-info-section-title {\r\n            color: var(--rdl-text-main, #1e293b);\r\n        }\r\n        \r\n        .rdl-info-section-subtitle {\r\n            font-size: 16px;\r\n            font-weight: 500;\r\n            max-width: 700px;\r\n            margin: 0 auto;\r\n        }\r\n        \r\n        .bg-gradient .rdl-info-section-subtitle {\r\n            color: rgba(255, 255, 255, 0.95);\r\n        }\r\n        \r\n        .bg-white .rdl-info-section-subtitle {\r\n            color: var(--rdl-text-sub, #64748b);\r\n        }\r\n\r\n        .rdl-info-card-layout {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\r\n            gap: 24px;\r\n        }\r\n        \r\n        .rdl-info-card {\r\n            \/* Replicating the tool's card style *\/\r\n            background: var(--rdl-white, #ffffff);\r\n            border-radius: var(--rdl-radius, 9px);\r\n            padding: 25px;\r\n            box-shadow: var(--rdl-shadow-panel, 0 4px 6px -1px rgba(0,0,0,0.05));\r\n            border: 2px solid var(--rdl-border, #e2e8f0);\r\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\r\n            text-align: left;\r\n        }\r\n        \r\n        .rdl-info-card:hover {\r\n            transform: translateY(-4px);\r\n            box-shadow: 0 12px 20px -5px rgba(124, 58, 237, 0.2);\r\n            border-color: var(--rdl-primary, #7c3aed);\r\n        }\r\n\r\n        .rdl-info-card-title {\r\n            font-size: 20px;\r\n            font-weight: 700;\r\n            color: var(--rdl-text-main, #1e293b);\r\n            margin-bottom: 15px;\r\n        }\r\n\r\n        .rdl-info-card p, .rdl-info-card li {\r\n            font-size: 1rem; \r\n            line-height: 1.7;\r\n            color: var(--rdl-text-sub, #64748b);\r\n            margin-bottom: 15px;\r\n        }\r\n        \r\n        .rdl-info-card ul {\r\n            list-style: none;\r\n            padding-left: 0;\r\n        }\r\n        \r\n        .rdl-info-card li {\r\n            padding-left: 25px;\r\n            position: relative;\r\n        }\r\n        \r\n        .rdl-info-card li::before {\r\n            content: '\u2713';\r\n            position: absolute;\r\n            left: 0;\r\n            top: 6px;\r\n            color: var(--rdl-primary, #7c3aed);\r\n            font-weight: bold;\r\n        }\r\n\r\n        .rdl-info-card strong {\r\n            color: var(--rdl-text-main, #1e293b);\r\n            font-weight: 600;\r\n        }\r\n    <\/style>\r\n\t    <div class=\"rdl-info-section-wrapper bg-white\">\r\n        <div class=\"rdl-info-container\">\r\n\t\t\t\t\t\r\n\t\t\t\t<\/div>\r\n\t    <\/div>\r\n    <!-- ========= SECTION 1: What is a \"Remove Duplicate Lines\" Tool? ========= -->\r\n    <div class=\"rdl-info-section-wrapper bg-white\">\r\n        <div class=\"rdl-info-container\">\r\n            <header class=\"rdl-info-section-header\">\r\n                <h2 class=\"rdl-info-section-title\">What is a \"Remove Duplicate Lines\" Tool?<\/h2>\r\n                <p class=\"rdl-info-section-subtitle\">Discover how this essential utility can instantly deduplicate and clean your text-based lists.<\/p>\r\n            <\/header>\r\n            <div class=\"rdl-info-card-layout\">\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">A Digital Data Cleaner<\/h3>\r\n                    <p>A <strong>Remove Duplicate Lines<\/strong> tool is a simple yet powerful utility that processes a list of text and removes any lines that are repeated. Instead of manually searching for and deleting duplicates, you can paste a list of any size and instantly get a clean, unique version. It's a fundamental tool for data cleaning and list management.<\/p>\r\n                <\/div>\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">Real-Time Data Dashboard<\/h3>\r\n                    <p>This isn't just a simple input-output tool. The live stats dashboard at the top gives you an immediate, real-time analysis of your data as you type:<\/p>\r\n                    <ul>\r\n                        <li><strong>Original Lines:<\/strong> The total number of lines in your input.<\/li>\r\n                        <li><strong>Unique Lines:<\/strong> The final count of lines after duplicates are removed.<\/li>\r\n                        <li><strong>Removed:<\/strong> The exact number of duplicate lines that were found and deleted.<\/li>\r\n                    <\/ul>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- ========= SECTION 2: Why Remove Duplicate Lines? ========= -->\r\n    <div class=\"rdl-info-section-wrapper bg-gradient\">\r\n        <div class=\"rdl-info-container\">\r\n            <header class=\"rdl-info-section-header\">\r\n                <h2 class=\"rdl-info-section-title\">Why Remove Duplicate Lines?<\/h2>\r\n                <p class=\"rdl-info-section-subtitle\">This utility has a wide range of practical applications, from cleaning marketing lists to preparing data for software.<\/p>\r\n            <\/header>\r\n            <div class=\"rdl-info-card-layout\">\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">Data Cleaning & Integrity<\/h3>\r\n                    <p>Duplicate entries are a common problem in any data set. Removing them is crucial for:<\/p>\r\n                    <ul>\r\n                        <li><strong>Email & Marketing Lists:<\/strong> Ensure you're not sending the same message to a subscriber multiple times by cleaning your email list.<\/li>\r\n                        <li><strong>Keyword Research:<\/strong> Deduplicate large lists of keywords from SEO tools to get an accurate count of unique terms.<\/li>\r\n                        <li><strong>Data Analysis:<\/strong> Clean raw data from spreadsheets or databases to prevent errors in your calculations and reports.<\/li>\r\n                    <\/ul>\r\n                <\/div>\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">Simplifying and Organizing<\/h3>\r\n                    <p>A clean, unique list is easier to work with and understand.<\/p>\r\n                    <ul>\r\n                        <li><strong>Contact Lists:<\/strong> Merge and clean contact lists from different sources to create a single, unique master list.<\/li>\r\n                        <li><strong>To-Do Lists:<\/strong> Combine multiple to-do lists and remove any repeated tasks for a clear, actionable plan.<\/li>\r\n                        <li><strong>Programming:<\/strong> Clean lists of variables, class names, or other data before using them in code to avoid errors.<\/li>\r\n                    <\/ul>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- ========= SECTION 3: How to Use the Tool ========= -->\r\n    <div class=\"rdl-info-section-wrapper bg-white\">\r\n        <div class=\"rdl-info-container\">\r\n            <header class=\"rdl-info-section-header\">\r\n                <h2 class=\"rdl-info-section-title\">How to Use the Tool<\/h2>\r\n                <p class=\"rdl-info-section-subtitle\">Our tool is designed for maximum speed and efficiency with a clear, two-panel layout and powerful options.<\/p>\r\n            <\/header>\r\n            <div class=\"rdl-info-card-layout\">\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">A Simple 2-Step Process<\/h3>\r\n                    <ol style=\"list-style-position: inside; padding-left: 5px; color: var(--rdl-text-sub);\">\r\n                        <li style=\"margin-bottom: 10px;\"><strong>Paste Your List:<\/strong> Copy the list you want to clean and paste it into the \"Dirty List\" input box on the left.<\/li>\r\n                        <li style=\"margin-bottom: 10px;\"><strong>Copy the Result:<\/strong> The \"Clean List\" on the right will update instantly, showing only the unique lines. Use the \"Copy Unique Lines\" button to copy it to your clipboard.<\/li>\r\n                    <\/ol>\r\n                <\/div>\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">Advanced Cleaning Options<\/h3>\r\n                    <p>Fine-tune the cleaning process with these powerful settings:<\/p>\r\n                    <ul>\r\n                        <li><strong>Case Sensitive:<\/strong> When checked, \"Apple\" and \"apple\" are treated as two different lines. When unchecked, they are treated as duplicates.<\/li>\r\n                        <li><strong>Trim Whitespace:<\/strong> Automatically removes any accidental spaces from the beginning or end of each line before comparing them.<\/li>\r\n                        <li><strong>Remove Empty Lines:<\/strong> Instantly deletes any blank lines from your list for a perfectly compact result.<\/li>\r\n                    <\/ul>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- ========= SECTION 4: For Everyone Who Works With Lists ========= -->\r\n    <div class=\"rdl-info-section-wrapper bg-gradient\">\r\n        <div class=\"rdl-info-container\">\r\n            <header class=\"rdl-info-section-header\">\r\n                <h2 class=\"rdl-info-section-title\">For Everyone Who Works With Lists<\/h2>\r\n                <p class=\"rdl-info-section-subtitle\">This is a versatile utility for developers, marketers, students, and anyone who needs to manage text data efficiently.<\/p>\r\n            <\/header>\r\n            <div class=\"rdl-info-card-layout\">\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">For SEOs & Marketers<\/h3>\r\n                    <p>Instantly clean and deduplicate keyword lists exported from tools like Ahrefs or Semrush. Merge multiple email lists and remove duplicate subscribers before an import. Organize messy content ideas into a clean, unique list.<\/p>\r\n                <\/div>\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">For Developers & Data Analysts<\/h3>\r\n                    <p>Quickly find unique values in a log file, database export, or any other text-based data set. Sanitize user-generated lists by removing duplicates and empty lines before processing them in your application.<\/p>\r\n                <\/div>\r\n                <div class=\"rdl-info-card\">\r\n                    <h3 class=\"rdl-info-card-title\">For Everyday Use<\/h3>\r\n                    <p>This tool is perfect for everyday tasks. Combine shopping lists from different family members, organize a list of names for an event, or clean up any list you've copied from a website or document. It's a simple, powerful tool for bringing order to information.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n<\/div>\r\n<!-- SUPPORTIVE SEO CONTENT ENDS HERE -->\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-209","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0623\u0633\u0637\u0631 \u0627\u0644\u0645\u0643\u0631\u0631\u0629 - \u062a\u0646\u0638\u064a\u0641 \u0627\u0644\u0642\u0648\u0627\u0626\u0645 \u0648\u0645\u062c\u0645\u0648\u0639\u0627\u062a \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0641\u0648\u0631\u064b\u0627 - \u0645\u062d\u0631\u0631 \u0646\u0635\u0648\u0635 \u0639\u0628\u0631 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a<\/title>\n<meta name=\"description\" content=\"\u062a\u0648\u0642\u0641 \u0639\u0646 \u0625\u0636\u0627\u0639\u0629 \u0627\u0644\u0648\u0642\u062a \u0641\u064a \u0627\u0644\u062a\u062f\u0642\u064a\u0642 \u0627\u0644\u064a\u062f\u0648\u064a! \u0647\u0630\u0647 \u0627\u0644\u0623\u062f\u0627\u0629 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629 \u0633\u062a\u0632\u064a\u0644 \u0627\u0644\u0623\u0633\u0637\u0631 \u0627\u0644\u0645\u0643\u0631\u0631\u0629 \u0645\u0646 \u0646\u0635\u0648\u0635\u0643 \u0648\u0642\u0648\u0627\u0626\u0645\u0643 \u0648\u0645\u062c\u0645\u0648\u0639\u0627\u062a \u0628\u064a\u0627\u0646\u0627\u062a\u0643 \u0641\u0648\u0631\u064b\u0627...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/onlinetexteditor.io\/ar\/remove-duplicate-lines\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Remove Duplicate Lines - Clean Up Lists and Data Sets Instantly - Online Text Editor\" \/>\n<meta property=\"og:description\" content=\"Stop wasting time manually checking! This essential tool will instantly remove duplicate lines from your text, lists, and data sets with...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/onlinetexteditor.io\/remove-duplicate-lines\/\" \/>\n<meta property=\"og:site_name\" content=\"Online Text Editor\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-14T09:32:54+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/onlinetexteditor.io\\\/remove-duplicate-lines\\\/\",\"url\":\"https:\\\/\\\/onlinetexteditor.io\\\/remove-duplicate-lines\\\/\",\"name\":\"Remove Duplicate Lines - Clean Up Lists and Data Sets Instantly - Online Text Editor\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/onlinetexteditor.io\\\/#website\"},\"datePublished\":\"2025-12-04T00:00:53+00:00\",\"dateModified\":\"2025-12-14T09:32:54+00:00\",\"description\":\"Stop wasting time manually checking! This essential tool will instantly remove duplicate lines from your text, lists, and data sets with...\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/onlinetexteditor.io\\\/remove-duplicate-lines\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/onlinetexteditor.io\\\/remove-duplicate-lines\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/onlinetexteditor.io\\\/remove-duplicate-lines\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/onlinetexteditor.io\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Remove Duplicate Lines &#8211; Clean Up Lists and Data Sets Instantly\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/onlinetexteditor.io\\\/#website\",\"url\":\"https:\\\/\\\/onlinetexteditor.io\\\/\",\"name\":\"Online Text Editor\",\"description\":\"Free &amp; Secure Rich Text Editing\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/onlinetexteditor.io\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0623\u0633\u0637\u0631 \u0627\u0644\u0645\u0643\u0631\u0631\u0629 - \u062a\u0646\u0638\u064a\u0641 \u0627\u0644\u0642\u0648\u0627\u0626\u0645 \u0648\u0645\u062c\u0645\u0648\u0639\u0627\u062a \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0641\u0648\u0631\u064b\u0627 - \u0645\u062d\u0631\u0631 \u0646\u0635\u0648\u0635 \u0639\u0628\u0631 \u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a","description":"\u062a\u0648\u0642\u0641 \u0639\u0646 \u0625\u0636\u0627\u0639\u0629 \u0627\u0644\u0648\u0642\u062a \u0641\u064a \u0627\u0644\u062a\u062f\u0642\u064a\u0642 \u0627\u0644\u064a\u062f\u0648\u064a! \u0647\u0630\u0647 \u0627\u0644\u0623\u062f\u0627\u0629 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629 \u0633\u062a\u0632\u064a\u0644 \u0627\u0644\u0623\u0633\u0637\u0631 \u0627\u0644\u0645\u0643\u0631\u0631\u0629 \u0645\u0646 \u0646\u0635\u0648\u0635\u0643 \u0648\u0642\u0648\u0627\u0626\u0645\u0643 \u0648\u0645\u062c\u0645\u0648\u0639\u0627\u062a \u0628\u064a\u0627\u0646\u0627\u062a\u0643 \u0641\u0648\u0631\u064b\u0627...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/onlinetexteditor.io\/ar\/remove-duplicate-lines\/","og_locale":"en_US","og_type":"article","og_title":"Remove Duplicate Lines - Clean Up Lists and Data Sets Instantly - Online Text Editor","og_description":"Stop wasting time manually checking! This essential tool will instantly remove duplicate lines from your text, lists, and data sets with...","og_url":"https:\/\/onlinetexteditor.io\/remove-duplicate-lines\/","og_site_name":"Online Text Editor","article_modified_time":"2025-12-14T09:32:54+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/onlinetexteditor.io\/remove-duplicate-lines\/","url":"https:\/\/onlinetexteditor.io\/remove-duplicate-lines\/","name":"Remove Duplicate Lines - Clean Up Lists and Data Sets Instantly - Online Text Editor","isPartOf":{"@id":"https:\/\/onlinetexteditor.io\/#website"},"datePublished":"2025-12-04T00:00:53+00:00","dateModified":"2025-12-14T09:32:54+00:00","description":"Stop wasting time manually checking! This essential tool will instantly remove duplicate lines from your text, lists, and data sets with...","breadcrumb":{"@id":"https:\/\/onlinetexteditor.io\/remove-duplicate-lines\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/onlinetexteditor.io\/remove-duplicate-lines\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/onlinetexteditor.io\/remove-duplicate-lines\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/onlinetexteditor.io\/"},{"@type":"ListItem","position":2,"name":"Remove Duplicate Lines &#8211; Clean Up Lists and Data Sets Instantly"}]},{"@type":"WebSite","@id":"https:\/\/onlinetexteditor.io\/#website","url":"https:\/\/onlinetexteditor.io\/","name":"Online Text Editor","description":"Free &amp; Secure Rich Text Editing","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/onlinetexteditor.io\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/onlinetexteditor.io\/ar\/wp-json\/wp\/v2\/pages\/209","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/onlinetexteditor.io\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/onlinetexteditor.io\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/onlinetexteditor.io\/ar\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/onlinetexteditor.io\/ar\/wp-json\/wp\/v2\/comments?post=209"}],"version-history":[{"count":2,"href":"https:\/\/onlinetexteditor.io\/ar\/wp-json\/wp\/v2\/pages\/209\/revisions"}],"predecessor-version":[{"id":211,"href":"https:\/\/onlinetexteditor.io\/ar\/wp-json\/wp\/v2\/pages\/209\/revisions\/211"}],"wp:attachment":[{"href":"https:\/\/onlinetexteditor.io\/ar\/wp-json\/wp\/v2\/media?parent=209"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}