Skip to content
zyphraxnsPublic

About

A useful, clean, free, no-signup collection of everyday tools that run entirely in your browser. No ads, no tracking, nothing uploaded.

Topics

Resources

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

PlainKit

9 free everyday tools that run entirely in your browser.
No ads. No tracking. No accounts. Nothing you type is ever uploaded.

Final grade calculator showing 87.5 needed on the final A countdown card reading Graduation, 81 days ago

Open PlainKit · See all tools · Self-host


Every tool has to produce something worth sharing — a card, a chart, an image, a line of text you can send to someone. If nobody would ever share the result, the tool does not get built. That single rule decides what is in the collection and what is not.

The tools

Tool What it does
Final grade calculator What you need on the final to hit your target grade
Countdown card Turn a date into a shareable countdown or anniversary card
Date duration calculator Days, weeks and weekdays between two dates, with milestones
Random group & name picker Split a list into groups, draw names, spin a wheel, or build balanced teams
Image to ASCII art Turn a picture into ASCII art — copy the text or download a PNG
QR code generator Turn a link, Wi-Fi password or contact into a QR code you can print
Chart maker Paste numbers, get a bar, line or pie chart you can download
Typing speed test Type for 60 seconds, get your speed and a result card you can share
Compress images Shrink and convert pictures in batches, right on your device
Every tool on one screen (9 screenshots)

The PlainKit homepage: a three-column grid of everyday tools

Date duration calculator showing 343 days and a breakdown by weeks, months and weekdays A name picker wheel with four names loaded

A photograph rendered as ASCII character art A bar chart of five days of signups, ready to download

A generated QR code with download options The typing speed test in progress

The image compressor: drop pictures, pick a format and quality, sizes appear on your device

How it is built

The whole thing is a static folder of files. There is no server, no database and no account system — which is not a compromise, it is the design:

Architecture diagram: the build produces plain HTML, CSS and JavaScript that the browser runs locally. No server, no database, no accounts, no trackers, no third-party scripts.

  • Zero runtime dependencies. Everything in package.json is a dev dependency; nothing ships to the visitor.
  • No UI framework, no animation library. A few kilobytes of CSS do the styling, checked by a performance budget gate.
  • Deterministic results. No tool sends your input to an AI. Same input, same output, every time.
  • Readable without JavaScript. The form and the result are in the static HTML; the homepage ships 0 bytes of JavaScript.
  • Served under a strict content security policy — no inline styles, no inline scripts, no third-party requests.

Privacy is structural, not a promise

There is no server for your data to reach. Images are decoded in your browser; text never leaves the page; lists are kept in that one browser only so you do not have to paste them again.

You can verify this yourself: open the network tab, load a tool, and you will see the page load nothing but itself. There is no analytics script, no cookie and no beacon to block, because there is nothing to block.

Self-hosting

The build produces a plain folder of static files, so it can be served from anywhere — a CDN, an object store, or your own machine.

With Docker:

docker compose up

The site runs at http://localhost:8080.

Without Docker:

npm install
npm run build
# then serve the contents of dist/ with any static file server

Development

Requires Node.js 24 (see .nvmrc).

npm install
npm run dev

The site runs at http://localhost:4321.

Command What it does
npm run dev Start the development server
npm run build Build the static site into dist/
npm run preview Preview the built site locally
npm run typecheck Type-check .astro and .ts files
npm test Run the unit tests
npm run format Format the code
npm run format:check Check formatting without writing
npm run budget Run the performance budget gate against dist/

Contributing

Issues and pull requests are welcome. Two rules for a new tool: it must produce something worth sharing, and it must add no runtime dependency, no tracker and no network request. A tool that cannot meet both does not go in.

Before opening a pull request, run:

npm run format && npm run typecheck && npm test && npm run build && npm run budget

License

Apache-2.0. See LICENSE.

The Apache-2.0 license does not grant permission to use the name "PlainKit".

About

A useful, clean, free, no-signup collection of everyday tools that run entirely in your browser. No ads, no tracking, nothing uploaded.

Topics

Resources

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages