Decode Encode is a local-first Vite + React + TypeScript app for everyday developer encoding, decoding, formatting, and hashing tasks.
All processing happens in the browser with native web APIs where possible. The app does not include a backend, server API, database, or analytics integration. After the static assets load, your input remains on your device and transformations run locally.
- Base64 encode/decode: Converts UTF-8 text to and from Base64.
- JWT decode/inspect: Decodes JWT headers and payloads for inspection without verifying signatures.
- URL encode/decode: Encodes and decodes URL component strings.
- JSON formatter/minifier: Pretty-prints or compacts valid JSON.
- SHA-256 hash generator: Uses the Web Crypto API to generate SHA-256 hashes.
Install dependencies:
npm installStart the development server:
npm run devCreate a production build:
npm run buildPreview the production build locally:
npm run previewThis project is configured for a repository GitHub Pages site at /decode-encode/ via base: '/decode-encode/' in vite.config.ts. If you publish this as a user or organization root page instead, change the Vite base value to /.
Deployment is handled by the GitHub Actions workflow in .github/workflows/deploy.yml. On pushes to the default branch (main), the workflow installs dependencies, runs npm run build, uploads the generated dist/ directory, and deploys it with the official GitHub Pages actions.
To enable deployment in GitHub:
- Open the repository Settings tab.
- Go to Pages.
- Set Build and deployment → Source to GitHub Actions.
- Push changes to
mainor manually run the Deploy to GitHub Pages workflow.