Get up and running with WebDevToys Encoders/Decoders tools in minutes. This guide will help you install, run, and start using the developer utilities immediately.
# Clone the repository
git clone https://github.com/your-username/webdevtoys.git
cd webdevtoys/specs/003-encoders-decoders-tools
# Install dependencies
npm install# Start the development server
npm run devThe application will open automatically at:
- Local: http://localhost:3000
- Network: http://192.168.x.x:3000 (for mobile testing)
Navigate to any tool using the sidebar or direct URLs:
- Base64 Text Encoder: http://localhost:3000/base64-text-encoder
- QR Code Generator: http://localhost:3000/qr-code-generator
- URL Encoder/Decoder: http://localhost:3000/url-encoder
- Base64 Image Encoder: http://localhost:3000/base64-image-encoder
- JWT Token Encoder: http://localhost:3000/jwt-token-encoder
- HTML Entity Encoder: http://localhost:3000/html-entity-encoder
- GZip Compression: http://localhost:3000/gzip-compression
- Certificate Decoder: http://localhost:3000/certificate-decoder
Quick Example:
- Go to http://localhost:3000/base64-text-encoder
- Type "Hello World" in the input textarea
- See "SGVsbG8gV29ybGQ=" appear automatically in the output
- Click "Copy Result" to copy to clipboard
Sample Data to Try:
Input: WebDevToys is awesome! 🚀
Output: V2ViRGV2VG95cyBpcyBhd2Vzb21lISA8ajgyYV8+
Quick Example:
- Go to http://localhost:3000/qr-code-generator
- Enter "https://webdevtoys.dev" in the text field
- Select "Medium" error correction
- Download the QR code as PNG
Sample Data to Try:
URL: https://github.com/your-repo
WiFi: WIFI:T:WPA;S:MyNetwork;P:MyPassword;;
Contact: BEGIN:VCARD
FN:John Doe
TEL:+1234567890
END:VCARD
Quick Example:
- Go to http://localhost:3000/url-encoder
- Enter "https://example.com/search?q=hello world&lang=en"
- See encoded: "https://example.com/search?q=hello%20world&lang=en"
- Switch to decode mode to reverse the process
Sample Data to Try:
Complex URL: https://api.example.com/v1/data?query=hello world&filter[date]=2024-01-01&sort=name%20desc
Quick Example:
- Go to http://localhost:3000/base64-image-encoder
- Drag and drop an image file (or click to select)
- Copy the Base64 data URI for use in HTML/CSS
- Preview the encoded image
Supported Formats: PNG, JPEG, GIF, WebP, SVG
Quick Example:
- Go to http://localhost:3000/jwt-token-encoder
- Enter payload data:
{"userId": 123, "role": "admin"} - Set secret key: "your-secret-key"
- Generate JWT token
- Decode to verify structure
Sample JWT to Decode:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Quick Example:
- Go to http://localhost:3000/html-entity-encoder
- Enter:
<div class="container">Hello & "World"</div> - See encoded:
<div class="container">Hello & "World"</div> - Switch to decode mode to reverse
Sample Data to Try:
HTML: <script>alert('XSS test');</script>
Symbols: © ™ ® € £ ¥ § ¶ † … — "" '' •
Math: ∑ ∏ ∫ ∆ ∇ ∂ √ ∞ ≠ ≤ ≥ ± × ÷
Quick Example:
- Go to http://localhost:3000/gzip-compression
- Enter text to compress or select decompress mode
- Choose compression level (6 is default)
- Select output format (Base64 recommended)
- View compression statistics
Sample Data to Try:
Lorem ipsum text for compression testing...
JSON data: {"users":[{"id":1,"name":"John"},{"id":2,"name":"Jane"}]}
Quick Example:
- Go to http://localhost:3000/certificate-decoder
- Paste PEM certificate (starts with -----BEGIN CERTIFICATE-----)
- View parsed certificate information
- Check validity dates and issuer details
Sample Certificate Snippet:
-----BEGIN CERTIFICATE-----
MIIDXTCCAkWgAwIBAgIJAJC1HiIAZAiIMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQwHhcNMTIwOTEyMTUwOTE4WhcNMTUwOTEyMTUwOTE4WjBF
MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAwxKsPqyWQNzwBzLBYJ6EFjND2tCKWXZx9tGdGmbPTXRCGkTzOOkU6DEk
-----END CERTIFICATE-----
Verify everything works with these quick tests:
# Run unit tests
npm test
# Check for any errors
npm run lint- Open http://localhost:3000 in your browser
- Verify the page loads without errors
- Try each tool from the sidebar
- Check browser console for errors (should be none)
- Open browser dev tools (F12)
- Switch to mobile device view
- Test responsive design on different screen sizes
- Verify all tools work on mobile
# Run performance audit
npm run lighthouse# Kill process on port 3000
lsof -ti:3000 | xargs kill -9
# Or use different port
npm run dev -- --port 3001# Clear cache and reinstall
rm -rf node_modules package-lock.json
npm install# Clear build cache
rm -rf dist
npm run build- Connect mobile device to same WiFi network
- Find your IP address:
ipconfig(Windows) orifconfig(Mac/Linux) - Access:
http://YOUR_IP:3000on mobile browser - Add to home screen for app-like experience
- Mobile: 320px - 768px
- Tablet: 768px - 1024px
- Desktop: 1024px+
# Build optimized version
npm run build
# Preview production build
npm run preview
# Deploy dist/ folder to your hosting providerCreate .env.production:
VITE_APP_TITLE=WebDevToys
VITE_APP_VERSION=1.0.0- JWT Tokens: Never enter real production secrets
- Certificates: Use test certificates only
- Images: No images are uploaded to servers (client-side only)
- Data Privacy: All processing happens in your browser
- Open browser dev tools (F12)
- Look at Console tab for red error messages
- Check Network tab for failed requests
- Clear browser cache and reload
- Try different browser (Chrome, Firefox, Safari)
- Check internet connection for external resources
- Disable ad blockers temporarily
- Check GitHub Issues for existing solutions
- Create new issue with:
- Browser and version
- Error messages from console
- Steps to reproduce
- Expected vs actual behavior
- Explore all tools - Try different input types and options
- Check performance - Run
npm run lighthouse - Run tests - Verify with
npm test - Contribute - See CONTRIBUTING.md for development guidelines
- Deploy - Build and deploy to your hosting provider
🎉 Congratulations! You're now ready to use WebDevToys Encoders/Decoders tools. Start exploring and let us know what you think!
Need more help? Check the full README.md for detailed documentation.