About

BitsAreFun is a personal website. I built these tools because I kept needing them myself, and then figured I may as well share them.

Why it exists

Every one of these tools started the same way: I needed to do one small thing — decode a token, convert a colour, work out what a cron expression actually meant — and the search results were a wall of pop-ups, cookie banners, and sign-up walls wrapped around about twenty lines of JavaScript. Often the tool wanted me to paste something into a form that posted it to a server, which is a strange thing to do with a JWT.

So I wrote my own, one at a time, and kept them in one place. There are 27 of them now, across 6 categories. Sharing them costs me nothing, and if they save you the same annoyance they saved me, that seems like a good trade.

How it works

Everything runs in your browser. There is no backend — not a hidden one, not a small one. The site is a pile of static files, and every tool is plain JavaScript on the page you're already looking at. Whatever you paste, type, or drop into a tool is processed on your own machine and never sent anywhere, because there is nowhere for it to be sent.

The image tools are the clearest example. They do ask you to pick a file — drag a photo in or use the file picker — but picking isn't uploading. The browser hands the bytes straight to the page, which reads them, does the work on your machine, and hands you the result back. The photo never travels anywhere. That's also why nothing here needs an account.

The privacy statement spells out the details, but the short version is: no accounts, no cookies, no tracking, and cookieless analytics that count page views and nothing else.

What it isn't

This is a side project, not a company or a product. There's no roadmap I owe anyone, no support contract, and no guarantee a tool will still be here in five years — though I have no plans to take anything down. Tools get added when I need one, which is roughly the same pace as always.

Each tool does one job and tries to do it properly rather than doing nine jobs adequately. If something looks missing, it's usually deliberate — but I'm often wrong about that, which is what the contact form is for.

Get in touch

Bug reports are genuinely welcome, especially "this gave me the wrong answer" ones — those are the reason the tools have a test suite. Feature requests and general hello-you-don't-know-me emails are fine too. The contact page opens your own email app; nothing is submitted anywhere until you press send yourself.