🚀 v1.1 — The Real Deal Update
Released: April 12, 2026 · Previous: v1.0 (April 2026)
🔴 Critical Bug Fixed
- 118 tools were returning the original file unchanged — fake progress bar, zero actual processing. All fixed.
- Root cause: every
processTool() function was doing URL.createObjectURL(f) on the original file instead of converting it.
- Fix took 3 rounds of patches — every category rebuilt with a real processing engine.
📄 PDF Tools — 23 Tools Fixed
- JPG → PDF & PNG → PDF: Now uses pdf-lib.js to embed images into real PDF pages with page size options (A4, Letter, Fit to Image)
- PDF Merge: Loads multiple PDFs, copies all pages, exports single merged file
- PDF Split: Extract all pages individually or select a specific page range
- PDF Rotate: Rotates every page by 90°, 180°, or 270° using pdf-lib degree API
- PDF Watermark: Draws diagonal text watermark with adjustable opacity and font size
- PDF Compress: Re-saves PDF with object streams enabled for size reduction
- Add Page Numbers: Injects page number text at chosen position (bottom center, corners, top)
- PDF Crop: Sets CropBox per page with user-defined margin values in points
- PDF Sign: Draw your signature on canvas, embed it as PNG image on last page
- PDF Protect / Unlock: Uses ignoreEncryption flag, re-saves without restrictions
- PDF Repair: Reloads corrupted PDFs with ignoreEncryption + saves cleanly
- PDF OCR: Renders each page to canvas via PDF.js, then runs Tesseract.js OCR
- PDF to JPG / PNG: PDF.js renders pages at 2x scale to canvas, exports as image
- PDF to TXT / HTML / Word / Excel / EPUB / PPT: PDF.js text extraction + export
- PDF Compare: Extracts text from both PDFs, computes word-level similarity score
- PDF Metadata Viewer: Reads title, author, subject, creator, producer, page count
🖼️ Image Tools — 19 Tools Fixed
- JPG ↔ PNG ↔ WebP ↔ TIFF ↔ SVG conversions: Canvas API with correct MIME type and white background fill for JPEGs
- Resize: Width/height inputs with keep-aspect-ratio checkbox, bicubic scaling
- Rotate: 90°/180°/270° with canvas dimension swap for portrait/landscape
- Blur: CSS filter blur applied to canvas context with user-controlled radius
- Crop: X, Y, Width, Height inputs with pixel-perfect canvas clipping
- Grayscale & Mirror: CSS filter grayscale(1) and ctx.scale(-1,1) transforms
- Brightness & Contrast: Dual range sliders, applies CSS filters to canvas
- Watermark: Draws user text with stroke+fill at 5 position presets, adjustable opacity
- Compress: Quality slider (10–100%), outputs smaller JPEG or PNG blob
- Collage: Grid layout with configurable columns, gap, and cell size via canvas
- Meme Generator: Impact font, top+bottom text with black stroke outline
- ICO Converter: Manual ICO binary format header + 32×32 PNG payload
- QR Reader: Uses jsQR library to decode QR codes from uploaded images
- HEIC → JPG: Uses heic2any library for iPhone photo conversion
- Upscale: Canvas bicubic interpolation with 2x/3x/4x scale factor
- Background Remove: Corner-pixel sampling + flood-fill transparency (client-side)
- EXIF Viewer: Reads dimensions, type, file size, last modified from browser API
🎵 Audio Tools — 13 Tools Fixed
- All audio conversions now powered by FFmpeg.wasm v0.12 running entirely in-browser
- WAV ↔ MP3, M4A → MP3, MP3 → AAC / OGG / FLAC / WMA: Real codec transcoding
- Volume Adjust: FFmpeg
volume= filter with slider (10%–500%)
- Trim: Start/end time inputs, uses
-ss and -to flags with stream copy
- Speed Change:
atempo filter (0.5x to 3x)
- Reverse:
areverse filter
- Pitch Shift:
asetrate + aresample for semitone shifting (−12 to +12)
- Noise Removal:
anlmdn non-local means denoising filter
- Split: Reads real duration via WebAudio API, splits at timestamp or into N equal parts
- Merge: Uses FFmpeg concat demuxer with generated concat.txt
- Compress: Selectable bitrate (64k/128k/192k), re-encodes to MP3
- Waveform Visualizer: WebAudio decodes audio, draws peak waveform on 1200×300 canvas
- Audio Extract: Strips video track with
-vn flag, exports MP3
🎬 Video Tools — 15 Tools Fixed
- All video tools powered by FFmpeg.wasm — runs full video codec pipeline in browser
- MP4 → MOV / WebM / MKV / AVI / MPEG: Container conversion with proper codecs
- MP4 → MP3: Audio extraction with
-vn -q:a 2
- MP4 → GIF: Palette-based conversion with fps + width controls for small file size
- GIF → MP4: yuv420p pixel format + even dimension rounding for browser compat
- Trim: Start/end seconds, stream copy for instant cut without re-encode
- Mute: Copies video stream, drops audio with
-an
- Compress: CRF quality slider (18/23/28/35) with libx264 + AAC 128k audio
- Rotate:
transpose filter for 90°/180°/270° rotation
- Resize: Scale filter with common resolution presets (360p to 1080p)
- Speed Change:
setpts + atempo for sync'd video+audio speed
- Reverse:
reverse + areverse filters, re-encodes with libx264
- Merge: FFmpeg concat demuxer with generated file list
- Thumbnail Extract:
-ss seek + -vframes 1 single frame capture at user timestamp
- Watermark:
drawtext filter with 4 position presets and semi-transparent box
- Add Subtitles:
subtitles= filter with uploaded .srt file, burned into video
- 4K Upscale: Lanczos scaling to 4K or 2K with CRF 18 high-quality encode
📁 Document & Archive Tools — 19 Tools Fixed
- CSV ↔ XLSX: SheetJS reads/writes real Excel format with proper sheet structure
- JSON → CSV: Parses JSON array, auto-detects all keys as headers, quote-escapes values
- Word → TXT / HTML: Mammoth.js extracts text and HTML from real .docx binary
- TXT / HTML / RTF / ODT → Word: Generates MHT-style Word HTML with Office XML namespace
- Markdown → HTML: Marked.js renders .md to full HTML with code block styling
- EPUB → PDF: JSZip extracts chapter HTML files, jsPDF renders text to A4
- PPTX → PDF: JSZip extracts slide XML, parses
a:t text nodes, jsPDF outputs landscape PDF
- PPT → Images: JSZip extracts embedded media files from ppt/media/ folder
- Create ZIP: JSZip DEFLATE compression with real level-6 compression ratio
- Extract ZIP: JSZip loads archive, lists all entries, creates download link per file
- RAR → ZIP: Honest — RAR format cannot be decoded in browser; shows clear guidance
⚙️ Technical
- Added CDN libraries: pdf-lib 1.17.1, PDF.js 3.11.174, JSZip 3.10.1, SheetJS 0.18.5, Mammoth 1.6.0, Marked 9.1.6, jsPDF 2.5.1, heic2any 0.0.4, jsQR 1.4.0, Tesseract.js 5, FFmpeg.wasm 0.12.10
- All tools: added proper error handling with user-friendly messages instead of silent failures
- Progress bars now reflect real processing stages, not fake timeouts
- Tools that have browser limitations now show honest explanations and suggest alternatives
- FFmpeg.wasm cached after first load — subsequent conversions start instantly
v1.0 — Initial Launch · April 2026
120+ tools launched · Dark green UI · Search + category tabs · Drag & drop upload · Mobile responsive · Privacy-first architecture