DocStripper automatically removes noise from text documents. Remove page numbers, headers/footers, duplicate lines, and empty lines from .txt, .docx, and .pdf files. Choose between Fast Clean (instant) or Smart Clean (AI-powered). Works entirely in your browser - 100% private, no uploads, no sign-ups.
π Try it online β β No installation needed!
π¦ Latest Release: v2.1.0 β UX enhancements & distribution ready
- β‘ Fast Clean β Instant rule-based cleaning
- π€ Smart Clean (Beta) β AI-powered cleaning with on-device LLM
- ποΈ 4 Cleaning Temperaments β Gentle (safe), Moderate, Thorough, Aggressive
- βοΈ WebWorker Processing β Large files processed in background (no UI freezing)
- π Side-by-Side Preview β Compare Original | Cleaned
- πΎ Settings Persistence β Your preferences are saved automatically
- π 100% Private β All processing happens in your browser, works completely offline
- π‘ Works Offline Badge β Visual indicator that everything stays on your device
- π Real-time Statistics β See exactly what was removed
- π₯ Batch Download (ZIP) β Download multiple cleaned files at once
- π¨ Dark Theme β Toggle between light and dark themes
- π± Mobile Responsive β Works great on mobile devices
- Visit https://kiku-jw.github.io/DocStripper/
- Upload your files
- Choose Fast Clean (instant) or Smart Clean (AI-powered)
- Adjust Cleaning Temperament slider: Gentle (recommended), Moderate, Thorough, or Aggressive
- Click "Start Cleaning"
- Download or copy the cleaned results
Option 1: PyPI (Recommended)
pip install docstripper
docstripper document.txtOption 2: Homebrew (macOS)
brew tap kiku-jw/docstripper
brew install docstripper
docstripper document.txtOption 3: Manual Installation
git clone https://github.com/kiku-jw/DocStripper.git
cd DocStripper
python tool.py document.txtSee INSTALL.md for detailed installation instructions.
# Clean a file
python tool.py document.txt
# Clean multiple files
python tool.py file1.txt file2.txt file3.docx
# Preview changes (dry-run)
python tool.py --dry-run document.txt
# Undo last operation
python tool.py --undo
# Pipe stdin to stdout (no file writes)
cat input.pdf | python tool.py - --stdout > output.txt
# Keep headers/footers if needed
python tool.py --keep-headers input.pdf --stdoutBefore:
Page 1 of 10
Confidential - Internal Use Only
Executive Summary
This is auto-
matic text processing.
Important content here.
Important content here.
1
2
3
After (Gentle Mode):
Executive Summary
This is automatic text processing.
Important content here.
More content.
Key Changes:
- β Page numbers removed
- β Headers/footers removed
- β Repeating headers removed
- β Duplicates collapsed
- β Hyphenation fixed
- β Empty lines removed
Gentle (Recommended - Default)
- β Page numbers (1, 2, 3...)
- β Headers/footers ("Page X of Y", "Confidential", etc.)
- β Repeating headers/footers across pages
- β Duplicate lines
- β Empty lines
- β Punctuation-only lines (---, ***, ===)
- β Hyphenation fixed (auto-\nmatic β automatic)
- β Preserves paragraph spacing
- β Line merging disabled (preserves formatting)
- β Whitespace normalization disabled
- β Unicode normalization disabled
Moderate
- All Gentle features plus:
- β Merges broken lines (protects lists and tables)
- β Preserves paragraph spacing
Thorough
- All Moderate features plus:
- β Normalizes whitespace (protects tables)
- β Normalizes Unicode punctuation (smart quotes, dashes β ASCII)
- β Preserves paragraph spacing (better readability)
Aggressive
- All Thorough features plus:
- β Normalizes Unicode punctuation
- β Removes paragraph spacing (more compact output)
--no-merge-linesβ disable merging broken lines--no-dehyphenateβ disable de-hyphenation across line breaks--no-normalize-wsβ disable whitespace normalization--no-normalize-unicodeβ disable Unicode punctuation normalization--keep-headersβ keep headers/footers/page numbers--stdoutβ write cleaned text to stdout instead of modifying files (supports-for stdin)
Protection Features:
- β Lists are never merged or broken
- β Tables preserve spacing
- β Content headers never removed
| Format | Status | Notes |
|---|---|---|
.txt |
β Full | UTF-8, Latin-1 |
.docx |
β Basic | Text extraction only (Web + CLI) |
.pdf |
β Basic | Text extraction only (Web + CLI). Web uses PDF.js automatically. CLI requires pdftotext (poppler-utils) |
PDF Support:
- macOS:
brew install poppler - Ubuntu/Debian:
sudo apt-get install poppler-utils - Windows: Download from poppler-windows releases
- Modern web browser (Chrome, Firefox, Safari, Edge)
- No installation or dependencies required
- Works completely offline after first load
- Python 3.9+ (for CLI tool)
- PDF support (optional):
pdftotextfrom poppler-utils
See GitHub Releases for release notes and changelog.
MIT License β see LICENSE.txt for details.
Contributions are welcome! See Contributing Guide for guidelines.
Made with β€οΈ for clean documents
β Star this repo | π Try online | π Product Hunt | π Report Bug
Support this project and help keep it free:
β Support on Gumroad | β Buy Me a Coffee | π Thanks.dev | π Ko-fi
- π° Blog & Updates: t.me/kiku_AI
- π¬ Discord: discord.gg/4Kxs97JvsU
- πΌ LinkedIn: linkedin.com/in/kiku-jw
- π About.me: about.me/kiku_jw