A Progressive Web App (PWA) that converts numbers between different number systems including binary, octal, decimal, and hexadecimal. Works as both a web application and can be installed as a mobile app on Android devices.
- Real-time Conversion: Convert between binary, octal, decimal, and hexadecimal number systems instantly
- Mobile-First Design: Responsive UI optimized for mobile devices and touch interactions
- Progressive Web App: Can be installed on mobile devices and works offline
- Input Validation: Prevents invalid characters and provides immediate feedback
- Copy Results: Easy copy-to-clipboard functionality for all conversion results
- Keyboard Shortcuts: Efficient keyboard navigation and shortcuts
- Dark Mode Support: Automatic dark mode based on system preferences
- Cross-Platform: Works on any device with a modern web browser
- Simply open
index.html
in any modern web browser - The app will work immediately with no installation required
- For the best mobile experience, visit the app on your phone's browser
-
Via Browser:
- Open the app in Chrome or any modern browser on Android
- Tap the "Install App" button when it appears
- Or use the browser menu → "Add to Home Screen"
-
PWA Features:
- Works offline after first load
- App-like experience with no browser UI
- Fast loading and smooth animations
-
Enter a number in any of the four input fields:
- Binary: Only 0s and 1s (e.g.,
1010
) - Octal: Digits 0-7 (e.g.,
755
) - Decimal: Digits 0-9 (e.g.,
42
) - Hexadecimal: Digits 0-9 and A-F (e.g.,
FF
)
- Binary: Only 0s and 1s (e.g.,
-
View results automatically in the results section
-
Copy results using the "Copy Results" button
-
Clear all using the "Clear All" button or
Escape
key
- Escape: Clear all inputs and results
- Ctrl/Cmd + K: Clear all inputs and results
- Ctrl/Cmd + C: Copy results to clipboard (when not in input field)
The application is built using vanilla JavaScript with a modern, modular architecture:
- HTML5: Semantic markup with progressive enhancement
- CSS3: Modern styling with CSS Grid, Flexbox, and custom properties
- JavaScript ES6+: Modular code with classes and modern syntax
- Service Worker: Offline functionality and caching
- Web App Manifest: PWA configuration for installation
- Modern browsers: Chrome 88+, Firefox 85+, Safari 14+, Edge 88+
- Mobile browsers: Chrome Mobile, Safari Mobile, Samsung Internet
- PWA features: Supported on Android (Chrome), limited on iOS
├── index.html # Main HTML file
├── manifest.json # PWA manifest
├── sw.js # Service worker
├── styles/
│ └── main.css # Main stylesheet
├── js/
│ ├── converter.js # Number conversion logic
│ └── app.js # PWA and app initialization
├── icons/ # App icons
├── docs/ # Documentation
└── README.md # This file
-
Clone the repository:
git clone https://github.com/Maxcoder-svg/Number-system-converter.git cd Number-system-converter
-
Serve the files:
# Using Python python -m http.server 8000 # Using Node.js npx http-server # Using PHP php -S localhost:8000
-
Open in browser: Navigate to
http://localhost:8000
The app is designed to work without a build process. Simply:
- Copy all files to your web server
- Ensure HTTPS is enabled for PWA features
- Verify the manifest.json paths match your deployment
- Manual Testing: Test conversion accuracy with known values
- PWA Testing: Use Chrome DevTools → Application tab → Manifest
- Mobile Testing: Test installation and offline functionality
- Accessibility: Verify keyboard navigation and screen reader support
- Digits: 0, 1
- Used in: Computer science, digital electronics
- Example:
1010
= 10 in decimal
- Digits: 0, 1, 2, 3, 4, 5, 6, 7
- Used in: Unix file permissions, older computer systems
- Example:
755
= 493 in decimal
- Digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
- Used in: Standard counting system
- Example:
42
= 42 in decimal
- Digits: 0-9, A, B, C, D, E, F
- Used in: Programming, color codes, memory addresses
- Example:
FF
= 255 in decimal
Contributions are welcome! Please feel free to submit issues or pull requests.
- Support for negative numbers
- Floating-point number conversion
- Additional number bases (e.g., base 32)
- History of recent conversions
- Mathematical operations between different bases
- Educational mode with step-by-step conversion explanations
This project is open source and available under the MIT License.
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed information about the problem
- For general questions, use the Discussions section