Skip to content

James Allman | JA Technology Solutions LLC

File Compare & Merge

Compare two text or code files with line-level diff and intra-line word/character highlighting. Side-by-side, unified, and inline views. JSON structural mode. Unified-patch export and apply.

File Compare & Merge

Paste or upload two text or code files and see every change line by line, with word-level (or character-level) highlighting inside changed lines. Switch between side-by-side, unified (git-style), and inline views. Toggle ignore-whitespace, ignore-case, ignore-blank-lines, and JSON structural mode (reordered keys collapse to no-change). Syntax highlighting for 22 languages including TypeScript, JavaScript, Python, SQL, Java, C#, COBOL, and YAML. Export the diff as a unified-format patch, or paste a patch and apply it to Source A. Diff computation runs in a Web Worker so the UI stays responsive on large files. Up to 25 MB per side / 50 MB total — largely-similar files diff instantly; very different regions render as collapsed blocks that expand on scroll. Everything runs locally in your browser — your code never leaves your machine.
Learn more ↓

Loading interactive explorer...

What This Tool Does

File Compare & Merge is a WinMerge-style file differ that runs entirely in your browser. Paste or drop two text/code files, click Compare, and see line-level differences with intra-line word or character highlighting. Switch between side-by-side, unified (the format git diff produces), and inline views. Syntax highlighting works for 22 common languages. For tabular row-level comparison with key-field joining (CSV, JSON arrays of records, Excel), use the Data Diff & Compare tool instead — this tool is designed for unstructured text where every line counts.

Code Review Without Committing

Paste a feature branch file vs. the version on main to walk through changes before they are pushed. Toggle ignore-whitespace to focus on real changes when an auto-formatter has rewrapped lines. Export a unified patch and share it with a colleague who can apply it locally without pulling the branch. Useful when you want a focused diff of a single file rather than a full PR review surface.

Config and Infrastructure-as-Code Reconciliation

Compare staging vs. production values for Terraform variables, Helm chart values, Kubernetes manifests, application configs, or environment files. JSON mode normalizes key order before diffing, so a re-serialized config with the same data does not show as a change. This is the fastest way to confirm two environments are actually identical — or to identify exactly where they drift.

IBM i Source Member Comparisons

Compare RPGLE, CLLE, SQLRPGLE, COBOL, or DDS source members pulled from two libraries — DEV vs. PROD, current vs. baseline, two branches in a Git-backed IFS workflow. Useful when promotion processes drift, when a hotfix needs to be reconciled with a longer-running development line, or when auditing what actually changed between two versions of a program. COBOL syntax highlighting is supported; RPG and CL render in plain monospace until per-language grammars ship in a future iteration. For automated source promotion drift detection across IBM i libraries, see IBM i services and application modernization.

Patch Generation and Apply

Generate a unified-diff patch from the two sources and share it as a file or copy it to the clipboard. Paste a patch back into the Apply panel to reconstruct Source B from Source A — useful for sharing small changes without granting repository access, or for archiving the delta between two versions in a portable text format. If a patch does not apply cleanly (context lines do not match), the tool reports the first mismatched line; a fuzzy-apply option relaxes the context match for small drift.

Large Files

The tool handles files up to 25 MB per side, 50 MB combined. Diff computation runs in a Web Worker so the browser UI never freezes. For large inputs an upfront anchor pass finds equal lines that appear exactly once on each side and uses them as synchronization points; the line-by-line diff then runs only on the unmatched intervals between anchors. Matched regions render as collapsed “↕ N unchanged lines” rows and unmatched intervals over 50 lines render as collapsed blocks that expand automatically as you scroll near them. Genuinely different regions over 50,000 lines stay collapsed with an Ask James handoff — running a precise diff at that scale risks crashing the tab. Need source promotion drift detection across IBM i libraries, or automated config drift reports across environments? I build those pipelines. Have questions? Ask James.

Have suggestions on the File Compare & Merge? Share your thoughts.

All tools run entirely in your browser. Your data never leaves your machine.