{"id":65631,"date":"2026-10-13T21:39:00","date_gmt":"2026-10-13T16:09:00","guid":{"rendered":"https:\/\/www.quickonlinetips.com\/archives\/?page_id=65631"},"modified":"2026-10-13T21:39:00","modified_gmt":"2026-10-13T16:09:00","slug":"diff-checker","status":"publish","type":"page","link":"https:\/\/www.quickonlinetips.com\/archives\/tools\/diff-checker\/","title":{"rendered":"Diff Checker: Compare Two Texts and Find the Differences"},"content":{"rendered":"<p>This free <strong>diff checker<\/strong> compares two versions of a text and shows exactly what changed. Paste the original on the left and the new version on the right: removed lines turn red, added lines turn green, and the changed words inside each line are highlighted. Use it to compare text from contracts, essays, code, configuration files or two copies of a web page.<\/p>\n<style>.qt-tool{--qt-accent:var(--global-palette1,#2B6CB0);--qt-accent2:var(--global-palette2,#215387);--qt-ink:var(--global-palette3,#1A202C);--qt-muted:var(--global-palette5,#4A5568);--qt-line:var(--global-palette7,#EDF2F7);--qt-soft:var(--global-palette8,#F7FAFC);--qt-bg:var(--global-palette9,#ffffff);background:var(--qt-soft);border:1px solid var(--qt-line);border-radius:12px;padding:20px;margin:0 0 1.75em;color:var(--qt-ink);box-shadow:0 1px 2px rgba(26,32,44,.06)} .qt-tool *{box-sizing:border-box} .qt-tool .qt-label{display:block;font-weight:600;margin:0 0 6px} .qt-tool textarea,.qt-tool input[type=number],.qt-tool input[type=text],.qt-tool input[type=date],.qt-tool select{width:100%;font:inherit;font-size:16px;line-height:1.5;color:var(--qt-ink);background:var(--qt-bg);border:1px solid #CBD5E0;border-radius:8px;padding:10px 12px;margin:0} .qt-tool textarea{min-height:200px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px} .qt-tool textarea.qt-prose{font-family:inherit;font-size:16px} .qt-tool textarea:focus,.qt-tool input:focus,.qt-tool select:focus{outline:2px solid var(--qt-accent);outline-offset:1px;border-color:var(--qt-accent)} .qt-tool .qt-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 0} .qt-tool .qt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:12px 0 0} .qt-tool .qt-field label{display:block;font-size:14px;font-weight:600;margin:0 0 4px;color:var(--qt-muted)} .qt-tool .qt-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:15px;font-weight:600;line-height:1.2;padding:10px 16px;border-radius:8px;border:1px solid var(--qt-accent);background:var(--qt-accent);color:#fff;cursor:pointer;text-decoration:none;min-height:42px} .qt-tool .qt-btn:hover{background:var(--qt-accent2);border-color:var(--qt-accent2);color:#fff} .qt-tool .qt-btn-ghost{background:var(--qt-bg);color:var(--qt-accent)} .qt-tool .qt-btn-ghost:hover{background:var(--qt-line);color:var(--qt-accent2)} .qt-tool .qt-btn-sm{font-size:14px;padding:6px 10px;min-height:34px} .qt-tool .qt-btn-big{font-size:17px;padding:12px 22px} .qt-tool .qt-check{display:flex;align-items:center;gap:8px;font-size:15px;margin:0;cursor:pointer} .qt-tool .qt-check input{width:18px;height:18px;margin:0;accent-color:var(--qt-accent)} .qt-tool .qt-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;margin:12px 0 0} .qt-tool .qt-stat{background:var(--qt-bg);border:1px solid var(--qt-line);border-radius:8px;padding:10px;text-align:center} .qt-tool .qt-num{display:block;font-size:24px;font-weight:700;line-height:1.2;color:var(--qt-accent2);font-variant-numeric:tabular-nums} .qt-tool .qt-lab{display:block;font-size:13px;color:var(--qt-muted);margin-top:2px} .qt-tool .qt-sub{font-weight:700;margin:16px 0 6px} .qt-tool .qt-note{font-size:13px;color:var(--qt-muted);margin:14px 0 0} .qt-tool .qt-status{min-height:1.4em;font-size:14px;color:var(--qt-accent2);margin:8px 0 0} .qt-tool .qt-error{color:#C53030} .qt-tool .qt-kw{margin:0;padding:0 0 0 1.4em;columns:2;column-gap:24px;font-size:15px} .qt-tool .qt-kw li{margin:0 0 4px;break-inside:avoid} .qt-tool .qt-kw span{color:var(--qt-muted)} .qt-tool .qt-result{background:var(--qt-bg);border:1px solid var(--qt-line);border-radius:10px;padding:18px;margin:12px 0 0;text-align:center;font-size:44px;font-weight:700;line-height:1.25;color:var(--qt-accent2);word-break:break-word;font-variant-numeric:tabular-nums;min-height:94px} .qt-tool .qt-result.qt-many{font-size:22px;text-align:left;line-height:1.6} .qt-tool .qt-history{margin:0;padding:0;list-style:none;font-size:14px;color:var(--qt-muted)} .qt-tool .qt-history li{padding:4px 0;border-bottom:1px dashed var(--qt-line);word-break:break-word} .qt-tool .qt-presets{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0} .qt-tool .qt-dice{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:14px 0 0;min-height:76px} .qt-tool .qt-die{width:68px;height:68px;border-radius:14px;background:var(--qt-bg);border:2px solid var(--qt-accent);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:var(--qt-ink);box-shadow:0 2px 0 var(--qt-accent2)} .qt-tool .qt-die.qt-pip{font-size:56px;font-weight:400;line-height:1} .qt-tool .qt-die-label{display:block;font-size:11px;font-weight:600;color:var(--qt-muted)} .qt-tool .qt-total{text-align:center;font-size:20px;margin:12px 0 0} .qt-tool .qt-total strong{font-size:32px;color:var(--qt-accent2)} .qt-tool .qt-roll{animation:qtroll .45s ease-out} @keyframes qtroll{0%{transform:rotate(-25deg) scale(.8)}60%{transform:rotate(12deg) scale(1.08)}100%{transform:rotate(0) scale(1)}} .qt-tool .qt-out{background:var(--qt-bg)} .qt-tool p:empty{display:none} .qt-tool p:not(.qt-note){margin:0} .qt-tool .qt-grid:has(.qt-check){grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px 16px} .qt-tool .qt-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:8px 0 18px} .qt-tool .qt-sw{font:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:600;border:1px solid rgba(0,0,0,.12);border-radius:8px;min-height:64px;padding:6px 4px;cursor:pointer;display:flex;align-items:flex-end;justify-content:center;text-transform:uppercase;transition:transform .1s} .qt-tool .qt-sw:hover,.qt-tool .qt-sw:focus{transform:scale(1.06);outline:2px solid var(--qt-accent);outline-offset:1px} .qt-tool .qt-group{font-size:15px;font-weight:700;margin:14px 0 2px} .qt-tool .qt-seg{display:inline-flex;border:1px solid var(--qt-accent);border-radius:8px;overflow:hidden} .qt-tool .qt-seg button{font:inherit;font-size:14px;font-weight:600;padding:8px 14px;border:0;background:var(--qt-bg);color:var(--qt-accent);cursor:pointer} .qt-tool .qt-seg button[aria-pressed=true]{background:var(--qt-accent);color:#fff} .qt-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:0 0 1.75em} .qt-card{display:block;background:var(--global-palette8,#F7FAFC);border:1px solid var(--global-palette7,#EDF2F7);border-radius:12px;padding:16px 18px;text-decoration:none;color:var(--global-palette3,#1A202C);transition:transform .12s,box-shadow .12s} .qt-card:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(26,32,44,.10);color:var(--global-palette3,#1A202C)} .qt-card strong{display:block;font-size:18px;color:var(--global-palette1,#2B6CB0);margin:0 0 4px} .qt-card span{display:block;font-size:15px;color:var(--global-palette5,#4A5568);line-height:1.5} @media (max-width:600px){.qt-tool{padding:14px}.qt-tool .qt-swatches{grid-template-columns:repeat(3,1fr)}.qt-tool .qt-kw{columns:1}.qt-tool .qt-result{font-size:36px}.qt-tool .qt-die{width:58px;height:58px;font-size:24px}.qt-tool .qt-die.qt-pip{font-size:48px}} .qt-tool .qt-two{display:grid;grid-template-columns:1fr 1fr;gap:12px} .qt-tool .qt-two textarea{min-height:180px} .qt-tool .qt-diff{background:var(--qt-bg);border:1px solid var(--qt-line);border-radius:8px;margin:12px 0 0;max-height:560px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;line-height:1.55} .qt-tool .qt-dl{display:grid;grid-template-columns:3.2em 3.2em 1.4em 1fr;min-width:0} .qt-tool .qt-ln{color:#A0AEC0;text-align:right;padding:0 6px;user-select:none;border-right:1px solid var(--qt-line)} .qt-tool .qt-sign{text-align:center;color:var(--qt-muted);user-select:none} .qt-tool .qt-code{white-space:pre-wrap;word-break:break-word;padding:0 8px 0 2px} .qt-tool .qt-add{background:#F0FFF4} .qt-tool .qt-add .qt-sign{color:#2F855A;font-weight:700} .qt-tool .qt-del{background:#FFF5F5} .qt-tool .qt-del .qt-sign{color:#C53030;font-weight:700} .qt-tool .qt-wadd{background:#9AE6B4;color:inherit;border-radius:2px;padding:0} .qt-tool .qt-wdel{background:#FEB2B2;color:inherit;border-radius:2px;padding:0;text-decoration:line-through} .qt-tool .qt-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;word-break:break-all;background:var(--qt-bg);border:1px solid var(--qt-line);border-radius:8px;padding:8px 10px;margin:4px 0 0;min-height:2.4em;color:var(--qt-ink)} .qt-tool .qt-big{font-size:18px;letter-spacing:.04em} .qt-tool .qt-explain{font-size:14px;color:var(--qt-muted);text-align:center;margin:6px 0 0;min-height:1.2em} .qt-tool .qt-result.qt-roman{font-size:32px} .qt-tool .qt-dateout{font-size:24px;font-weight:700;color:var(--qt-accent2);letter-spacing:.03em} .qt-ref{width:100%;border-collapse:collapse;font-size:15px;margin:0 0 1.5em} .qt-ref th,.qt-ref td{border:1px solid #E2E8F0;padding:6px 10px;text-align:left} .qt-ref th{background:#F7FAFC} @media (max-width:600px){.qt-tool .qt-two{grid-template-columns:1fr}.qt-tool .qt-dl{grid-template-columns:2.6em 2.6em 1.2em 1fr}}<\/style>\n<div class=\"qt-tool\" id=\"qt-df\">\n<div class=\"qt-two\">\n<div><label class=\"qt-label\" for=\"qt-df-a\">Original text<\/label><textarea id=\"qt-df-a\" rows=\"10\" spellcheck=\"false\" placeholder=\"Paste the first (old) version here\"><\/textarea><\/div>\n<div><label class=\"qt-label\" for=\"qt-df-b\">Changed text<\/label><textarea id=\"qt-df-b\" rows=\"10\" spellcheck=\"false\" placeholder=\"Paste the second (new) version here\"><\/textarea><\/div>\n<\/div>\n<div class=\"qt-row\"><label class=\"qt-check\"><input type=\"checkbox\" id=\"qt-df-icase\"> Ignore upper and lower case<\/label><label class=\"qt-check\"><input type=\"checkbox\" id=\"qt-df-ispace\"> Ignore extra spaces<\/label><\/div>\n<div class=\"qt-row\"><button type=\"button\" class=\"qt-btn qt-btn-big\" id=\"qt-df-go\">Find differences<\/button><button type=\"button\" class=\"qt-btn qt-btn-ghost\" id=\"qt-df-swap\">Swap sides<\/button><button type=\"button\" class=\"qt-btn qt-btn-ghost\" id=\"qt-df-clear\">Clear<\/button><\/div>\n<div class=\"qt-status\" id=\"qt-df-status\" aria-live=\"polite\"><\/div>\n<div id=\"qt-df-resultbox\" hidden>\n<div class=\"qt-stats\">\n<div class=\"qt-stat\"><span class=\"qt-num\" id=\"qt-df-removed\" style=\"color:#C53030\">0<\/span><span class=\"qt-lab\">Lines removed<\/span><\/div>\n<div class=\"qt-stat\"><span class=\"qt-num\" id=\"qt-df-added\" style=\"color:#2F855A\">0<\/span><span class=\"qt-lab\">Lines added<\/span><\/div>\n<div class=\"qt-stat\"><span class=\"qt-num\" id=\"qt-df-same\">0<\/span><span class=\"qt-lab\">Lines unchanged<\/span><\/div>\n<\/div>\n<div class=\"qt-diff\" id=\"qt-df-out\" aria-live=\"polite\"><\/div>\n<\/div>\n<p class=\"qt-note\">Everything runs in your browser. Your text is never sent to or stored on our server.<\/p>\n<\/div>\n<p><script>(function () { function qtReady(fn) { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', fn); } else { fn(); } } function qtCopy(text, statusEl, okMsg) { function done(ok) { if (statusEl) { statusEl.textContent = ok ? (okMsg || 'Copied to clipboard.') : 'Press Ctrl+C (or Cmd+C) to copy.'; } } function fallback() { var ta = document.createElement('textarea'); ta.value = text; ta.setAttribute('readonly', ''); ta.style.position = 'fixed'; ta.style.top = '-1000px'; document.body.appendChild(ta); ta.select(); var ok = false; try { ok = document.execCommand('copy'); } catch (e) { ok = false; } document.body.removeChild(ta); done(ok); } if (navigator.clipboard) { if (window.isSecureContext) { navigator.clipboard.writeText(text).then(function () { done(true); }, fallback); return; } } fallback(); } function qtRand32() { var c = window.crypto || window.msCrypto; if (c) { if (c.getRandomValues) { var a = new Uint32Array(1); c.getRandomValues(a); return a[0]; } } return Math.floor(Math.random() * 4294967296); } function qtRandInt(range) { if (range === 4294967296) { return qtRand32(); } var limit = Math.floor(4294967296 \/ range) * range; var x = qtRand32(); while (x >= limit) { x = qtRand32(); } return x % range; } qtReady(function () { var aEl = document.getElementById('qt-df-a'); if (!aEl) { return; } var bEl = document.getElementById('qt-df-b'); var out = document.getElementById('qt-df-out'); var status = document.getElementById('qt-df-status'); var icase = document.getElementById('qt-df-icase'); var ispace = document.getElementById('qt-df-ispace'); var MAXCELLS = 6000000; function norm(s) { if (ispace.checked) { s = s.replace(\/\\s+\/g, ' ').trim(); } if (icase.checked) { s = s.toLowerCase(); } return s; } function lcsOps(a, b, eq) { var n = a.length, m = b.length; var w = m + 1; var dp = new Uint32Array((n + 1) * w); for (var i = n - 1; i >= 0; i--) { for (var j = m - 1; j >= 0; j--) { dp[i * w + j] = eq(a[i], b[j]) ? dp[(i + 1) * w + j + 1] + 1 : Math.max(dp[(i + 1) * w + j], dp[i * w + j + 1]); } } var ops = []; var x = 0, y = 0; while (n > x || m > y) { if (n > x) { if (m > y) { if (eq(a[x], b[y])) { ops.push(['=', a[x], b[y]]); x++; y++; continue; } if (dp[(x + 1) * w + y] >= dp[x * w + y + 1]) { ops.push(['-', a[x]]); x++; } else { ops.push(['+', b[y]]); y++; } continue; } ops.push(['-', a[x]]); x++; continue; } ops.push(['+', b[y]]); y++; } return ops; } function el(tag, cls, text) { var e = document.createElement(tag); if (cls) { e.className = cls; } if (text !== undefined) { e.textContent = text; } return e; } function wordSpans(oldLine, newLine, side) { var ta = oldLine.split(\/(\\s+)\/), tb = newLine.split(\/(\\s+)\/); var frag = document.createDocumentFragment(); if (ta.length * tb.length > 250000) { frag.appendChild(document.createTextNode(side === '-' ? oldLine : newLine)); return frag; } var ops = lcsOps(ta, tb, function (p, q) { return norm(p) === norm(q); }); ops.forEach(function (o) { if (o[0] === '=') { frag.appendChild(document.createTextNode(side === '-' ? o[1] : o[2])); } else if (o[0] === side) { frag.appendChild(el('mark', side === '-' ? 'qt-wdel' : 'qt-wadd', o[1])); } }); return frag; } function row(kind, na, nb, content) { var r = el('div', 'qt-dl ' + (kind === '+' ? 'qt-add' : (kind === '-' ? 'qt-del' : 'qt-same'))); r.appendChild(el('span', 'qt-ln', na === null ? '' : String(na))); r.appendChild(el('span', 'qt-ln', nb === null ? '' : String(nb))); r.appendChild(el('span', 'qt-sign', kind === '=' ? ' ' : kind)); var c = el('span', 'qt-code'); if (typeof content === 'string') { c.textContent = content === '' ? ' ' : content; } else { c.appendChild(content); } r.appendChild(c); return r; } function compare() { status.classList.remove('qt-error'); var a = aEl.value.split(\/\\r\\n|\\r|\\n\/), b = bEl.value.split(\/\\r\\n|\\r|\\n\/); if (aEl.value === '') { if (bEl.value === '') { status.textContent = 'Paste the original text on the left and the changed text on the right.'; out.textContent = ''; return; } } if ((a.length + 1) * (b.length + 1) > MAXCELLS) { status.textContent = 'These texts are too long to compare in the browser (about 2,400 lines each at most). Compare them in smaller parts.'; status.classList.add('qt-error'); return; } var ops = lcsOps(a, b, function (p, q) { return norm(p) === norm(q); }); out.textContent = ''; var frag = document.createDocumentFragment(); var na = 0, nb = 0, added = 0, removed = 0, same = 0; for (var i = 0; ops.length > i; i++) { var o = ops[i]; if (o[0] === '=') { na++; nb++; same++; frag.appendChild(row('=', na, nb, o[2])); continue; } var dels = [], adds = []; while (ops.length > i) { if (ops[i][0] === '-') { dels.push(ops[i][1]); i++; } else { break; } } while (ops.length > i) { if (ops[i][0] === '+') { adds.push(ops[i][1]); i++; } else { break; } } i--; var pairs = Math.min(dels.length, adds.length); dels.forEach(function (d, k) { na++; removed++; frag.appendChild(row('-', na, null, pairs > k ? wordSpans(d, adds[k], '-') : d)); }); adds.forEach(function (d, k) { nb++; added++; frag.appendChild(row('+', null, nb, pairs > k ? wordSpans(dels[k], d, '+') : d)); }); } out.appendChild(frag); document.getElementById('qt-df-added').textContent = added.toLocaleString(); document.getElementById('qt-df-removed').textContent = removed.toLocaleString(); document.getElementById('qt-df-same').textContent = same.toLocaleString(); status.textContent = added + removed === 0 ? 'No differences found. The two texts are identical' + (icase.checked || ispace.checked ? ' (with your ignore settings).' : '.') : 'Compared ' + a.length.toLocaleString() + ' and ' + b.length.toLocaleString() + ' lines.'; document.getElementById('qt-df-resultbox').hidden = false; } document.getElementById('qt-df-go').addEventListener('click', compare); [icase, ispace].forEach(function (c) { c.addEventListener('change', function () { if (!document.getElementById('qt-df-resultbox').hidden) { compare(); } }); }); document.getElementById('qt-df-swap').addEventListener('click', function () { var t = aEl.value; aEl.value = bEl.value; bEl.value = t; compare(); }); document.getElementById('qt-df-clear').addEventListener('click', function () { aEl.value = ''; bEl.value = ''; out.textContent = ''; status.textContent = ''; document.getElementById('qt-df-resultbox').hidden = true; aEl.focus(); }); }); })();<\/script><\/p>\n<p><strong>Quick answer:<\/strong> Paste the old text in the left box and the new text in the right box, then click <strong>Find differences<\/strong>. Lines marked <strong>&#8211;<\/strong> in red were removed, lines marked <strong>+<\/strong> in green were added, and highlighted words show what changed inside a line.<\/p>\n<h2>How to compare two texts<\/h2>\n<ol>\n<li>Paste the original version into <strong>Original text<\/strong>.<\/li>\n<li>Paste the edited version into <strong>Changed text<\/strong>.<\/li>\n<li>Tick <strong>Ignore upper and lower case<\/strong> or <strong>Ignore extra spaces<\/strong> if those changes don&#8217;t matter to you.<\/li>\n<li>Click <strong>Find differences<\/strong>. The counters show how many lines were removed, added and left unchanged.<\/li>\n<\/ol>\n<h2>How to read the results<\/h2>\n<ul>\n<li><strong>White lines<\/strong> are the same in both versions. The two numbers on the left are the line numbers in each text.<\/li>\n<li><strong>Red lines with a minus sign<\/strong> exist only in the original.<\/li>\n<li><strong>Green lines with a plus sign<\/strong> exist only in the changed text.<\/li>\n<li>When a line was edited rather than replaced, it appears once in red and once in green, with the <strong>exact words that changed highlighted<\/strong>, so you don&#8217;t have to hunt for a single altered word.<\/li>\n<\/ul>\n<p>The checker finds the longest run of lines the two texts share, the same approach used by the classic <code>diff<\/code> command and by Git, so moved blocks show up as removed in one place and added in another.<\/p>\n<h2>What people use a diff checker for<\/h2>\n<ul>\n<li><strong>Documents and contracts:<\/strong> see what the other side changed in a returned draft.<\/li>\n<li><strong>Writing and editing:<\/strong> compare your draft with an edited version, or check what an AI rewrite actually changed.<\/li>\n<li><strong>Code and settings:<\/strong> spot the one changed line in a config file, <code>.htaccess<\/code> or CSS before you upload it.<\/li>\n<li><strong>SEO and web pages:<\/strong> compare two versions of a page&#8217;s text, title tags or robots.txt.<\/li>\n<li><strong>Lists:<\/strong> find which items were added to or removed from a list. Sorting both lists first with our <a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/alphabetical-order\/\">alphabetical order tool<\/a> makes the differences clearer.<\/li>\n<\/ul>\n<h2>Compare documents in Word and Google Docs<\/h2>\n<p>For formatted documents, the built-in tools keep formatting and tracked changes:<\/p>\n<ul>\n<li><strong>Microsoft Word:<\/strong> <em>Review &gt; Compare &gt; Compare<\/em>, then pick the original and revised documents.<\/li>\n<li><strong>Google Docs:<\/strong> open one document and choose <em>Tools &gt; Compare documents<\/em>.<\/li>\n<\/ul>\n<p>Use this diff checker when the text comes from anywhere else, or when you just want a fast, plain-text comparison without uploading files.<\/p>\n<h2>FAQ<\/h2>\n<h3>Is the text I compare kept private?<\/h3>\n<p>Yes. The comparison runs in your browser. Nothing you paste is uploaded or saved, so it is safe for contracts, passwords in config files or unpublished writing.<\/p>\n<h3>How long can the texts be?<\/h3>\n<p>Up to about 2,400 lines on each side. For longer files, compare them in sections.<\/p>\n<h3>Why is a moved paragraph shown as removed and added?<\/h3>\n<p>A line-by-line diff can only match lines in the same order. If you move a paragraph, it appears as removed from its old position and added in its new one.<\/p>\n<h3>Can I compare text ignoring blank lines?<\/h3>\n<p>Remove the empty lines from both versions first with our <a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/remove-blank-lines\/\">remove blank lines tool<\/a>, then compare them here.<\/p>\n<h2>More free tools<\/h2>\n<div class=\"qt-cards\"><a class=\"qt-card\" href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/remove-blank-lines\/\"><strong>Remove Blank Lines<\/strong><span>Delete empty lines, strip HTML tags and duplicate lines.<\/span><\/a><a class=\"qt-card\" href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/word-counter\/\"><strong>Word Counter<\/strong><span>Count words, characters, sentences and reading time.<\/span><\/a><a class=\"qt-card\" href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/alphabetical-order\/\"><strong>Alphabetical Order<\/strong><span>Sort any list A to Z, Z to A, by length or at random.<\/span><\/a><a class=\"qt-card\" href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/case-converter\/\"><strong>Case Converter<\/strong><span>Change text to UPPERCASE, lowercase, Title Case and more.<\/span><\/a><\/div>\n<p>See all of them on the <a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/\">QuickOnlineTips free online tools<\/a> page.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This free diff checker compares two versions of a text and shows exactly what changed. Paste the original on the left and the new version on the right: removed lines turn red, added lines turn green, and the changed words inside each line are highlighted. Use it to compare text from contracts, essays, code, configuration&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":65595,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-65631","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/65631","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/comments?post=65631"}],"version-history":[{"count":1,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/65631\/revisions"}],"predecessor-version":[{"id":65636,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/65631\/revisions\/65636"}],"up":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/65595"}],"wp:attachment":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/media?parent=65631"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}