← ← All Tools

🔍 Text Line Filter

Visual rule-stack text line filter with 10 rule types (contains / not-contains / starts-with / ends-with / whole-word / regex / regex-not / length / line-number / character-set), global AND/OR, per-rule invert and case. Eight bilingual presets (Email / URL / IPv4 / Log ERROR / remove comments / stack frames / Chinese ID / China mobile). Post-processing includes trim, 4-mode deduplication, and 9 sort modes. Three views (kept / excluded / side-by-side diff) plus real-time 4-stage stats deltas with original line numbers. 5 MB UTF-8 byte hard cap, 3-second cumulative budget across chunks for multi-line / multi-rule runs (single-line ReDoS mitigated via heuristic warning chip), runToken cascade cancellation. Local — no upload, no login, 44px mobile touch targets.

All filtering runs locally in your browser. Input text is not uploaded by the tool.
0 lines

Preset Templates (click to load rules)

Global Logic

No rules yet. Click "+ Add Rule" or a preset above to start filtering. With an empty rule stack, all lines are kept.
Post-Processing (trim · dedup · sort)
Enter text above and add rules (or pick a preset) to see live results here.
Shortcuts: Ctrl+Enter force recompute · Alt+↑/↓ reorder active rule. Line-number formula supports 5, 5-10, 2n+1, 5n, 1,3,5-7. Length defaults to grapheme counting (👨‍👩‍👧 counts as 1).

Visual rule-stack text line filter with 10 rule types (contains / not-contains / starts-with / ends-with / whole-word / regex / regex-not / length / line-number formula / character-set) that can stack with global AND/OR logic and per-rule invert/case toggles. Post-processing supports 4-mode inline trim, 4-mode deduplication (keep-first / keep-last / consecutive / off, each with optional trim-first + case-insensitive), and 9 sort modes (alphabetic / natural / numeric / length / reverse, locale-aware — zh-Hans-CN pinyin on Chinese pages). Real-time preview with 150ms input debounce / 80ms option debounce / zero-delay structural actions. Original line numbers preserved throughout. Three views: kept / excluded / side-by-side diff. Eight bilingual presets: Extract Email lines / Extract URL lines / Extract IPv4 lines / Keep ERROR/WARN logs / Remove comments & blanks / Cleanup Java/Node/Python stack frames / Chinese ID number extraction / China mobile number extraction. Stats panel shows 4-stage deltas (original → filtered → deduped → final) with percentage bars. 5 MB UTF-8 byte hard cap (over-limit rejected with ripgrep suggestion), 3-second cumulative budget across chunks for multi-line / multi-rule runs (chunk-yield protection; a single catastrophic regex on one line cannot be interrupted in V1, so a static ReDoS heuristic chip flags high-risk patterns — nested quantifiers, common-prefix alternation, quantifier-in-quantifier — as you type), runToken cascade cancellation, invalid regex flagged as red card without blocking the whole run. Local browser processing — no upload, no login, default no third-party analytics. Mobile-optimized at 375px with 44px touch targets. Keyboard Ctrl+Enter forces recalculation, Alt+↑/↓ reorders rules. Ideal for log triage, data cleaning, batch text extraction, code review line filtering, and content moderation workflows.