Skip to content

πŸ› οΈ Next-Tools - A collection of practical online tools for developers and IT professionals, rebuilt with modern technologies πŸš€ 120+ Developer Tools β€’ 🌍 10 Languages β€’ ⚑ Modern Stack β€’ πŸ”’ Privacy First Built with Vue 3, shadcn-vue, TypeScript, and Vite for optimal performance and developer experience.

License

Notifications You must be signed in to change notification settings

willjayyyy/next-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

198 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Next-Tools Logo

A collection of practical online tools for developers and IT professionals

License: GPL v3 GitHub stars GitHub issues

πŸ—£οΈ Languages: English β€’ δΈ­ζ–‡ β€’ FranΓ§ais β€’ Deutsch β€’ EspaΓ±ol β€’ PortuguΓͺs β€’ Русский β€’ Π£ΠΊΡ€Π°Ρ—Π½ΡΡŒΠΊΠ° β€’ Norsk β€’ TiαΊΏng Việt

🌐 Try it online! β€’ πŸ“– About β€’ πŸ› Report Bug β€’ πŸ’‘ Request Feature


Note: This is a fork of the original it-tools project, refactored and maintained by Will Jay. This project is licensed under GNU GPLv3.

✨ Features

  • πŸ”§ 120+ Developer Tools - From data conversion to network analysis
  • 🎨 Modern UI - Clean, intuitive interface built with Vue.js 3
  • πŸ”’ Privacy First - All tools run locally in your browser
  • 🌍 10 Languages - Full internationalization support
  • πŸ“± Responsive Design - Works perfectly on all devices
  • ⚑ Fast & Lightweight - Built with Vite for optimal performance
  • πŸ†“ Free & Open Source - GPL-3.0 licensed, forever free

πŸš€ Quick Start

Online Usage

Visit next-tools.dev to use all tools directly in your browser.

Self-Hosting

From Docker Hub:

docker run -d --name next-tools \
  --restart unless-stopped \
  -p 8080:80 \
  willjayyyy/next-tools:latest

From GitHub Packages:

docker run -d --name next-tools \
  --restart unless-stopped \
  -p 8080:80 \
  ghcr.io/willjayyyy/next-tools:latest

Local Development:

# Clone the repository
git clone https://github.com/willjayyyy/next-tools.git
cd next-tools

# Install dependencies
pnpm install

# Start development server
pnpm dev

πŸ› οΈ Tool Categories

  • Converters - JSON, XML, YAML, CSV, Base64, URL encoding
  • Generators - UUID, Password, QR Code, Hash, JWT
  • Formatters - SQL, XML, JSON, CSS, JavaScript
  • Validators - Email, URL, JSON, XML, Cron expressions
  • Encoders/Decoders - Base64, URL, HTML entities, Morse code
  • Calculators - Percentage, subnet, chmod permissions
  • Text Tools - Case converter, lorem ipsum, word counter
  • Network Tools - IP calculator, MAC lookup, DNS tools
  • Development - Regex tester, color picker, HTTP status codes

🀝 Contributing

We welcome contributions! Here's how you can help:

Development Setup

Recommended IDE Setup:

VSCode Settings:

{
  "editor.formatOnSave": false,
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  },
  "i18n-ally.localesPaths": ["locales", "src/tools/*/locales"],
  "i18n-ally.keystyle": "nested"
}

Project Setup

# Install dependencies
pnpm install

# Start development server
pnpm dev

# Build for production
pnpm build

# Run tests
pnpm test

# Lint code
pnpm lint

Development Scripts

Create New Tool (create-tool.mjs)

Quickly scaffold a new tool:

Interactive mode:

pnpm run script:create:tool

CLI mode:

pnpm run script:create:tool my-tool-name

The script automatically:

  • Creates tool directory with all necessary files (.vue, .service.ts, .test.ts, etc.)
  • Adds tool entries to all language locale files
  • Updates src/tools/index.ts with import
  • Generates boilerplate code with i18n support

i18n Translation Management (i18n.mjs)

Unified tool for managing all translation files:

Interactive mode:

pnpm run i18n

CLI mode:

# Collect translations to .i18n directory
pnpm run i18n collect [-l <languages>] [-y]

# Write back edited translations to original files
pnpm run i18n write-back [-l <languages>] [-y]

# Create new language
pnpm run i18n create [--language <code>] [-t <template>] [-y]

Options:

  • -l, --languages - Specify languages (comma-separated or "all"), e.g., -l en,zh or -l all
  • -y, --yes - Skip confirmation prompts, auto-use defaults
  • --language - Language code, e.g., ja, ko, ar
  • -t, --template - Template type: empty-template (recommended) or empty-file

Workflow:

  1. Run collect to merge all translations into .i18n directory
  2. Edit translation files in .i18n directory
  3. Run write-back to apply changes to locales/ and tool-specific locales/ directories

Type Support for .vue Imports in TS

TypeScript cannot handle type information for .vue imports by default, so we replace the tsc CLI with vue-tsc for type checking. In editors, we need TypeScript Vue Plugin (Volar) to make the TypeScript language service aware of .vue types.

If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a Take Over Mode that is more performant. You can enable it by the following steps:

  1. Disable the built-in TypeScript Extension
    1. Run Extensions: Show Built-in Extensions from VSCode's command palette
    2. Find TypeScript and JavaScript Language Features, right click and select Disable (Workspace)
  2. Reload the VSCode window by running Developer: Reload Window from the command palette.

🌍 Internationalization

Next-Tools supports 10 languages:

  • πŸ‡ΊπŸ‡Έ English (en)
  • πŸ‡¨πŸ‡³ Chinese (zh)
  • πŸ‡«πŸ‡· French (fr)
  • πŸ‡©πŸ‡ͺ German (de)
  • πŸ‡ͺπŸ‡Έ Spanish (es)
  • πŸ‡΅πŸ‡Ή Portuguese (pt)
  • πŸ‡·πŸ‡Ί Russian (ru)
  • πŸ‡ΊπŸ‡¦ Ukrainian (uk)
  • πŸ‡³πŸ‡΄ Norwegian (no)
  • πŸ‡»πŸ‡³ Vietnamese (vi)

To contribute translations, edit the JSON files in the locales/ directory.

πŸ“Š Analytics Integration

Next-Tools supports optional analytics integration for usage tracking. Configure these environment variables to enable analytics:

Vercel Analytics

VITE_ENABLE_VERCEL_ANALYTICS=true
VITE_DEBUG_VERCEL_ANALYTICS=false  # Optional debug mode

Google Analytics 4

VITE_GOOGLE_ANALYTICS_ID=G-XXXXXXXXXX

Umami Analytics

VITE_UMAMI_WEBSITE_ID=your-website-id
VITE_UMAMI_SCRIPT_URL=https://analytics.umami.is/script.js  # Optional custom URL

Analytics only run in production builds and are completely optional.

πŸͺ Privacy Consent

Next-Tools includes a built-in privacy consent management system that complies with GDPR, CCPA, and other privacy regulations.

Features

  • Automatic Region Detection - Automatically detects user region and shows consent dialog for GDPR/CCPA regions
  • Customizable Options - Users can accept all, reject all, or customize their preferences
  • Persistent Storage - User preferences are saved locally and respected across sessions
  • Strict Mode - Optional mode to require consent from all users regardless of region

Configuration

# Enable consent management
VITE_CONSENT_ENABLE=true

# Enable strict mode - require consent from all users regardless of region
VITE_CONSENT_STRICT=false

πŸ—ΊοΈ Roadmap & Feature Requests

Check the issues to see planned features and upcoming tools.

Have an idea for a new tool? Submit a feature request!

πŸ“„ License

This project is licensed under the GNU General Public License v3.0.

πŸ™ Acknowledgments


Next Tools - A modern, actively maintained alternative to it-tools | Product Hunt

Made with ❀️ by Will Jay

About

πŸ› οΈ Next-Tools - A collection of practical online tools for developers and IT professionals, rebuilt with modern technologies πŸš€ 120+ Developer Tools β€’ 🌍 10 Languages β€’ ⚑ Modern Stack β€’ πŸ”’ Privacy First Built with Vue 3, shadcn-vue, TypeScript, and Vite for optimal performance and developer experience.

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors