Your files never leave this page.
Small tools for PDFs, spreadsheets, images, and invoices. Each one opens your file in the browser, does one job, and hands back the result. Nothing is uploaded.
- No account
- No upload
- No ads
- Works offline
Commerce 1
Money 2
Calculators 2
Documents 4
PDF Page Editorbeta
Reorder, rotate, delete, merge, and split PDF pages, and read or strip the document metadata.
PDF Text Editorbeta
Fix a typo or wrong number in a PDF: pick a line, retype it, keep the embedded font, and save.
Calendar File Makerbeta
Build an .ics calendar file from a form or a CSV of dates, and open, fix, or merge existing ones.
Subtitle Timing Fixerbeta
Shift or rescale subtitles that run early, late, or drift, and convert between SRT and WebVTT.
Data 15
Data Converterbeta
Convert and reshape CSV, TSV, JSON, NDJSON, and XLSX. Filter rows, join two files, and dedupe.
JSON to CSV Converterbeta
Convert a JSON array of objects to CSV and back. Nested fields flatten to dotted column names.
CSV Cleanerbeta
Trim cells, drop blank rows and columns, dedupe, fill gaps, and find and replace in a CSV.
Mock Data Generatorbeta
Build rows of realistic-looking test data and download them as CSV. The same seed gives the same rows.
CSV to SQLbeta
Turn CSV into CREATE TABLE and INSERT statements with guessed column types. Four SQL dialects.
CSV to Tablebeta
Convert CSV into a Markdown, HTML, LaTeX, or plain-text table.
Column Toolsbeta
Pick, reorder, drop, or insert delimited columns, and switch the delimiter.
CSV Splitterbeta
Split one CSV into several by row count, by number of parts, or grouped by a column value.
JSON Querybeta
Pull values out of JSON with a small path language, and flatten or unflatten a document.
SQL Formatterbeta
Pretty-print or minify a SQL statement. Uppercases keywords and breaks the major clauses.
List Comparebeta
Compare two lists of lines: what is in both, only in one, the union, and the counts.
INI to JSONbeta
Convert between INI and JSON, with nested sections and optional type coercion.
Data Transposebeta
Swap the rows and columns of CSV or other delimited data. Quoted fields and ragged rows are handled.
NDJSON Converterbeta
Convert between NDJSON, a JSON array, and CSV rows.
TOML to JSONbeta
Convert between TOML and JSON: tables, arrays of tables, inline tables, and typed values.
Text 6
Word & Character Counterbeta
Count characters, words, sentences, paragraphs, and reading time, and see the most-used words.
Line Toolsbeta
Sort, dedupe, shuffle, number, trim, and reformat a list of lines. All in the browser.
Text Encrypt / Decryptbeta
Lock a note behind a passphrase with AES-GCM and PBKDF2. The key never leaves your browser.
Whitespace & Invisible Character Cleanerbeta
Strip trailing spaces, zero-width characters, and stray non-breaking spaces, and fix tabs and curly quotes.
Duplicate Line Finderbeta
Find repeated lines with their counts and line numbers, and produce the de-duplicated text.
Word Frequency Counterbeta
Count words or phrases with density percentages, an optional stop-word filter, and text stats.
Convert 1
Images 3
Image Compressorbeta
Resize, compress, and convert images to JPG, PNG, WebP, or AVIF in bulk. Strips metadata.
Image Color Pickerbeta
Pull the main colours out of a photo or screenshot as hex swatches you can copy.
Image Recolorbeta
Tint an image, swap one colour for another, or knock out a solid background to transparency.
Developer 3
Text Diffbeta
Compare two blocks of text line by line and word by word, with a copyable unified patch.
JSON Diffbeta
Compare two JSON documents and see every added, removed, or changed key and array item.
JSON to Typesbeta
Turn a JSON sample into TypeScript interfaces or Go structs, merged across array items.
Security 1
How it works
- 1
You choose a file. The browser reads it with the File API, on your device.
- 2
The tool does its work in the page and in background workers. No server is in the loop.
- 3
You download the result. It was built on your machine.
Close the tab and nothing is left behind, apart from the settings a tool saves in your own browser. You can check the network panel: the pages talk to this domain only.