πŸ“‹ 0 in session
πŸ“š
Student's Suite
Offline-first Β· No upload Β· No server Β· All processing in your browser
Privacy: Every file is processed locally in your browser. Nothing is sent to any server. Tap the session badge (bottom-right) to purge memory after heavy operations.
πŸ“–
Booklet Imposition
Reorder pages for saddle-stitch booklet printing with fold guides and registration marks.
βŠ•
PDF Merge
Combine multiple PDFs into one document in any order you choose.
βœ‚
PDF Split
Extract specific pages or split at fixed intervals into separate files.
⊘
PDF Compress
Lossless structural re-compression to reduce file size without losing content.
⊞
N-up Layout
Print multiple source pages onto each sheet -- great for lecture slides and study notes.
β‡…
Rearrange Pages
Interactively reorder, duplicate, or delete individual pages from a PDF.
β—«
PDF β†’ Image
Render each page as a high-resolution PNG or JPEG image at chosen DPI.
⬑
Add Watermark
Stamp text or image watermarks across all pages with opacity and position control.
β—Œ
Remove Watermark
4-strategy watermark removal: annotation strip, text redact, image overdraw, vector neutralize.
πŸ”“
Unlock PDF
Decrypt a password-protected PDF. Works with Aadhaar, bank statements, mark sheets.
βœ…
Add Verified Stamp
Apply a VERIFIED / SELF ATTESTED rubber stamp visual to govt/Aadhaar PDFs.
πŸ—œ
Image Compressor
Reduce image file size by quality percentage with live before/after preview.
πŸ“
Image Resize
Resize to exact px/cm/inch with DPI selection and target KB control for exam forms.
πŸͺͺ
Passport Photo Maker
Crop, rotate, and adjust a portrait. Export at preset ID/passport/visa dimensions.
βœ’
Signature Cleaner
Remove white/light backgrounds from scanned signatures. Export as transparent PNG.
🧹
EXIF / Metadata Cleaner
Strip all EXIF, GPS, camera info from images. Clear Author/Creator/dates from PDFs.
βˆ‘
Scientific & Graphing Calculator
Evaluate complex expressions, plot multiple functions on a dynamic graph.
⊟
Matrix Calculator
Det, inverse, RREF, transpose, trace, rank, eigenvalues, LU, multiply -- up to 6Γ—6.
Session operations: 0
πŸ—’ Private Notes (browser-only)
Saddle-stitch booklet: Sheets are nested and stapled through the centre fold. Like a magazine -- the first and last pages are printed on the same outer sheet, back-to-back.

Signature: A nested group of sheets. "4 sheets per signature" means 4 physical sheets folded together, giving 16 page positions (4 sheets Γ— 2 sides Γ— 2 pages per side).

Spine Gap: Blank space at the centre fold reserved for the staple. Increase for thicker paper.

Registration Marks: Dashed fold guide line + "Sig. N Β· Sheet N of N" label (so you know assembly order) + 4 alignment dots along the spine.

Three Steps:
β‘  Resize -- Pages stretched to fill exactly half the canvas width.
β‘‘ Impose -- Pages reordered onto A4-landscape sheets in correct saddle-stitch sequence.
β‘’ Marks -- Fold guides, labels, and binding dots drawn on every sheet.
01 -- Document Input
Session files:
πŸ“„
Click or drop a PDF
βœ…
--
--
02 -- Parameters
--
30
0
Registration MarksFold guide, Sig. labels, 4 binding dots
Canvas fixed at 277 Γ— 190 mm (A4 landscape βˆ’ 10 mm borders). Sub-page = (277 βˆ’ gap βˆ’ 2Γ—outer) / 2. Pages are stretched to fill.
03 -- Process
β‘  Resize
β‘‘ Impose
β‘’ Marks
Preview output page
What it does: Joins multiple PDF files into one output document, appending pages in the queue order shown below. Use Up/Down to reorder before running. You can add the same file twice to duplicate its contents.
01 -- File Queue
Session:
πŸ“„
Drag & drop PDFs here or use + Add button
Queue empty. Add PDFs above.
02 -- Execute
Preview output page
Custom Ranges -- e.g. 1-5, 8, 10-12 -- each token = one output file.
Uniform Interval -- chop into equal N-page batches.
Granular Extraction -- e.g. 3, 7, 12 -- each page becomes its own file. Use "Preview Splits" to verify before running.
01 -- Source
Session:
πŸ“„
Click or drop a PDF
βœ…
--
--
02 -- Method
Page ranges e.g. 1-5, 8, 10-12
10
Individual pages e.g. 3, 7, 12
03 -- Execute
Lossless only: Re-serialises the PDF with DEFLATE compression and packs objects into clustered streams. Removes structural bloat and orphaned objects. Does not downsample images -- for large image-heavy PDFs, reductions are typically 5–20%. Best results on PDFs with lots of uncompressed text or metadata.
01 -- Source
Session:
πŸ“„
Click or drop a PDF
βœ…
--
--
02 -- Execute
Preview output page
N-up printing places N source pages onto one output sheet in a grid. "2-up" = 2 pages side by side; "4-up" = 2Γ—2 grid. Useful for printing lecture slides compactly, creating study note booklets, or proof-printing a large document cheaply.

Cell size: (sheet width βˆ’ 2Γ—margin βˆ’ (colsβˆ’1)Γ—spacing) Γ· cols, and similarly for height.
01 -- Source
Session:
πŸ“„
Click or drop a PDF
βœ…
--
--
02 -- Grid
2
2
4
8
Grid: 2Γ—2 = 4 source pages per sheet
03 -- Execute
Preview output page
Click a row to select it (highlighted gold), then use the action buttons. Clone duplicates a page so it appears multiple times. Reset restores the original order. The original file is never modified.
01 -- Source
Session:
πŸ“„
Click or drop a PDF
βœ…
--
--
02 -- Page Sequence
Load a document to see pages here.
03 -- Execute
Preview output page
DPI (Dots Per Inch) controls sharpness:
  • 72–96 DPI -- screen/web only, small file
  • 150 DPI -- presentation quality
  • 200–300 DPI -- suitable for print
PNG = lossless, larger, ideal for text-heavy pages. JPEG = lossy, smaller, better for photo-heavy pages.

Note: This tool requires pdf.js which loads from CDN on first use (or from ./js/pdf.min.js if you have it locally).
01 -- Source
Session:
πŸ“„
Click or drop a PDF
βœ…
--
--
02 -- Settings
03 -- Execute
Opacity: 100% = fully visible. 15–30% = typical transparent stamp that doesn't obscure the content behind it.

Rotation: βˆ’45Β° gives the classic diagonal watermark look across the page. 0Β° = horizontal.

Position -- Diagonal Centre: The watermark text is trig-corrected so its visual midpoint lands exactly at the centre of the page regardless of rotation angle.

Image Watermark: Upload a PNG (with transparent background works best) or JPEG logo. Use the Scale slider to control its size on the page. The image is placed at the same position as the text watermark.
01 -- Source
Session:
πŸ“„
Click or drop a PDF
βœ…
--
--
02 -- Watermark Type
52 pt
-45Β°
25%
03 -- Execute
Preview output page
Where watermarks live in a PDF -- and which strategy removes each:

Strategy 1 -- Strip Annotations: Removes the Annots array from each page. Handles watermarks added as stamps by Acrobat, foxit, or similar tools. Very effective, non-destructive.

Strategy 2 -- Text Redaction: Searches each page for your keyword text and covers it with a white rectangle. Requires pdf.js for accurate text positioning. Falls back to a centre-stripe cover if pdf.js is unavailable.

Strategy 3 -- Image Overdraw: Covers large background images (above a pixel threshold) with a white rectangle. Targets watermarks that are full-page JPEG/PNG backgrounds. Does not delete the image data, just hides it.

Strategy 4 -- Vector Neutralize: Decompresses PDF content streams using pako (loaded from CDN), finds grey color operators (fill/stroke commands like 0.85 0.85 0.85 rg) and replaces them with white. Targets watermarks drawn as grey vector shapes. Ported from the Python notebook's obliterate_remaining_watermark() function.

Honest limit: Watermarks baked directly into the original page creation cannot be removed without re-rasterizing the page (needs Ghostscript/server). Always run the Scan first.
01 -- Source
Session:
πŸ“„
Click or drop a PDF
βœ…
--
--
02 -- Detect & Select Strategies
px
Run the Scan first. The result recommends which strategies apply to your file. Enable only the strategies needed to minimise collateral changes.
03 -- Execute
Preview cleaned page
Strips RC4/AES encryption from a password-protected PDF. You must supply the correct password -- this tool does not crack or guess passwords.

Common passwords in India:
  • Aadhaar PDF β†’ your date of birth in DDMMYYYY format (e.g. 15081998)
  • Bank statements β†’ your account number or date of birth
  • ITR/TDS β†’ PAN number in uppercase
Owner-password-only files (restrict printing but not opening) are handled automatically -- leave the password blank.
01 -- Locked Document
πŸ”’
Click or drop a locked PDF
βœ…
--
--
02 -- Password & Execute
Preview unlocked page
Adds a visual rubber-stamp graphic -- a double-bordered rectangle containing a βœ“ checkmark, the selected text, and optionally the current date. Commonly used for self-attesting Aadhaar cards, mark sheets, or government documents before submission.

This is a visual mark only -- not a cryptographic digital signature. For legally valid digital signatures, use Aadhaar eSign or a licensed Digital Signature Certificate (DSC) tool.
01 -- Source
Session:
πŸ“„
Click or drop a PDF
βœ…
--
--
02 -- Stamp Options
Include today's datePrinted below stamp text
03 -- Execute
Preview stamped page
Quality %: Controls how much image data is discarded during JPEG/WebP encoding. 100% = no compression. 60–80% is the typical sweet spot -- visually near-identical but 50–70% smaller.
PNG: Lossless -- quality % has no effect. Reduce dimensions for PNG size reduction.
WebP: Google's modern format. Better quality-to-size ratio than JPEG. Widely supported in browsers.
Squoosh (link in nav bar) = Google's tool with additional codecs like AVIF and oxipng.
01 -- Source Image
πŸ–Ό
Click or drop an image -- JPEG, PNG, WebP, GIF
βœ…
--
--
02 -- Settings
03 -- Before / After Preview
Original
--
Compressed
--
04 -- Download
Pixels vs Physical Size: Physical size only has meaning when combined with DPI. Formula: pixels = size Γ— DPI. Example: 3.5 cm at 200 DPI = 3.5 Γ· 2.54 Γ— 200 β‰ˆ 276 px.

Common exam/govt requirements:
  • Photograph: 3.5 Γ— 4.5 cm, 200 DPI, max 50 KB, JPEG
  • Signature: 3.5 Γ— 1.5 cm, 200 DPI, max 20 KB, JPEG
Target KB: The tool uses binary search on JPEG quality to achieve your target file size within Β±5%.
Keep Aspect Ratio: Changing one dimension auto-scales the other proportionally.
01 -- Source Image
πŸ–Ό
Click or drop an image
βœ…
--
--
02 -- Target Dimensions
Keep Aspect RatioAdjusting one dimension auto-scales the other
Enter dimensions above to see pixel calculation.
03 -- Resize & Download
Common Indian document photo sizes:
  • Indian Passport: 51Γ—51 mm, white or light-blue background
  • Aadhaar/PAN: 35Γ—45 mm, white background
  • UPSC/SSC: 3.5Γ—4.5 cm at 200 DPI (β‰ˆ276Γ—354 px)
  • US Visa: 51Γ—51 mm at 300 DPI (600Γ—600 px)
Crop tips: Use the crop sliders to frame your face. Brightness helps if the background appears grey instead of white.
01 -- Portrait
πŸͺͺ
Click or drop a portrait photo -- use white/light background
βœ…
--
--
02 -- Crop & Rotate
0%
0%
0%
0%
0Β°
03 -- Adjustments
0
0
0
04 -- Output Size
Select a preset or enter dimensions.
05 -- Preview & Download
Threshold (50–254): Each pixel's luminance (brightness) is measured. Pixels brighter than the threshold become fully transparent. For dark ink on white paper, set to 200–230.
  • If the signature looks too thin β†’ reduce the threshold
  • If white patches remain β†’ increase the threshold
Output: A PNG with a transparent background (shown as a checkerboard in the preview). Place this PNG over any background colour in Word, PowerPoint, or PDF tools.
01 -- Upload Signature
βœ’
Click or drop a scanned signature -- dark ink on white/light paper works best
βœ…
--
--
02 -- Adjustments
210
0
0
03 -- Preview
Original
Cleaned (transparent)
04 -- Download
Images (JPEG, PNG, WebP): The canvas redraw method is the most thorough browser-available technique. It removes:
  • EXIF -- camera model, lens, exposure, ISO, flash
  • GPS -- latitude, longitude, altitude, timestamp
  • Thumbnail -- the embedded preview image in EXIF
  • XMP -- Adobe metadata block
  • ICC colour profile reference (replaced with browser default)
PDF: Clears all standard document information fields: Title, Author, Subject, Keywords, Creator, Producer, Creation Date, Modification Date. Also removes the XMP metadata stream if one is present.

Note: The canvas redraw changes the colour profile to sRGB. For professional print work, this may affect colour accuracy. For everyday use (web, forms, WhatsApp) it makes no visible difference.
01 -- Upload File
🧹
Click or drop an image or PDF -- JPEG, PNG, WebP, GIF, PDF
βœ…
--
--
02 -- Output Format (images only)
03 -- Execute
Preview PDF output page
Variable: Use x in graph mode.
Functions: sin(x) cos(x) tan(x) log(x) log10(x) sqrt(x) abs(x) factorial(n)
Constants: pi e tau
Powers: x^2 or x**2
Important: Write 2*x not 2x. Implicit multiplication is not supported.
x fromto
Awaiting plot.
0
No history yet.
Matrix: A rectangular grid of numbers. Written as mΓ—n (m rows, n columns).
Square matrix: Same rows and columns (2Γ—2, 3Γ—3). Required for det, inverse, trace, eigenvalues, LU.
Determinant (det A): A single number summarising a square matrix. If det=0, the matrix is "singular" -- no inverse exists.
Inverse (A⁻¹): AΓ—A⁻¹ = Identity. Only exists when detβ‰ 0.
RREF: Reduced Row Echelon Form. Used to solve systems of equations. Each row's leading entry is 1, and all other entries in that column are 0.
Eigenvalues (2Γ—2 only): Values Ξ» where AΓ—v = λ×v. Found by solving the characteristic equation λ² βˆ’ tr(A)Ξ» + det(A) = 0.

Demo -- Solve 2x + y = 8 and x βˆ’ y = 1:
Set Matrix A to 2 rows Γ— 3 columns. Enter top row: 2, 1, 8. Bottom row: 1, -1, 1. Click RREF(A). The result gives x=3 (row 1: 1, 0, 3) and y=2 (row 2: 0, 1, 2).
01 -- Matrix Dimensions
Γ—
Γ—
02 -- Enter Values
Matrix A
Matrix B
03 -- Operation
Single Matrix (A only)
Two Matrices (A and B)
04 -- Result
Choose an operation above.