A versatile collection of useful online tools, accessible directly from your browser.
OET aims to provide a single, easy-to-use interface for various common (and maybe uncommon!) tasks you might need to perform online, without needing to install separate applications.
All core tools are completely client-based. Use OET with confidence that no data leaves your browser for core operations. This means sensitive information you work with is never transmitted over the internet or stored on our servers for processing, ensuring maximum privacy and security.
- Extensive Tool Suite: Access a growing collection of client-side utilities for text, data, image manipulation, and more.
- Privacy First: All core tool operations run entirely in your browser.
- AI-Assisted Tool Building: Contribute new tools easily using our integrated AI build process (see Contributing below).
- PWA Enabled: Many tools work offline after the initial visit.
- History Tracking: Keep track of your previous operations within the tool.
https://online-everything-tool.com
- Framework: Next.js (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- AI Integration: Google Gemini
- Deployment: Netlify
When developing or proposing new tools, please adhere to the following principles:
- Directive Naming:
- Tool URL paths (directives) should follow the format
<thing>-<operation>or<thing>-<operation>-<operation>(e.g.,text-reverse,json-validator-formatter). - Use lowercase kebab-case only.
- Avoid articles ('a', 'an', 'the') and short prepositions ('to', 'for', 'with') in directives. Use
image-resize, notresize-an-image.
- Tool URL paths (directives) should follow the format
- Client-Side Core Logic: The primary functionality of the tool must run entirely within the user's browser using JavaScript/Web APIs. No external network calls should be required for the core operation. (Exceptions may exist for fetching non-essential data sources, like public word lists, if clearly justified).
- UI Simplicity: Keep the user interface clean, focused, and intuitive. Avoid overly complex layouts or unnecessary visual clutter.
- Security: Do not handle sensitive user data in a way that requires server-side processing or external storage for the tool's main function.
Follow these instructions to get a local copy up and running for development purposes.
Prerequisites:
- Node.js (Version specified in
.nvmrcor >= v20 recommended) - Package manager: This project uses npm (based on
package-lock.json). Ensure you have it installed.
Installation:
- Clone the repository:
git clone https://github.com/Online-Everything-Tool/oet.git cd oet - Install dependencies:
npm install
- Set up Environment Variables: Copy
.env.blankto.envand fill in the required values.cp .env.blank .env # Now edit .env with your credentials - Run the development server:
npm run dev
- Open http://localhost:3000 (or your configured port) in your browser.
Contributions are welcome! Please read our CONTRIBUTING.md file for details on our code of conduct and the full process for submitting pull requests.
Ways to contribute:
- Report bugs or suggest features by opening an issue.
- Use the built-in AI-Assisted Build Tool to easily propose and generate new client-side utilities. This can facilitate both anonymous suggestions and contributions leading to standard GitHub Pull Requests.
- Submit pull requests directly with bug fixes or new features/tools developed locally (following the 'New Tool Rules').
- Improve documentation.
This project is licensed under the MIT License.
- Project Maintainer: Kevin McIntyre/kmcintyre
- Issues: https://github.com/Online-Everything-Tool/oet/issues