Frontend only dev tools. Free for everyone. https://tools.erbs.dev
  • TypeScript 94.1%
  • CSS 3.5%
  • Shell 0.7%
  • JavaScript 0.5%
  • Go 0.5%
  • Other 0.7%
Find a file
Florian Erbs c90cd5a175
All checks were successful
CI / display-os-info (push) Successful in 1s
CI / test (push) Successful in 36s
CI / frontend-build (push) Successful in 27s
CI / docker-build (push) Successful in 45s
CI / go-build (push) Successful in 1m11s
Merge pull request 'Switch to zustand for collapsed and dark mode states' (#26) from feature/try-implementing-zustand into develop
Reviewed-on: #26
2026-03-30 21:43:29 +00:00
.forgejo/workflows skip builds on push 2026-02-28 16:42:21 +01:00
go improve .gitignore 2026-02-06 20:39:27 +01:00
public remove not needed png 2026-03-13 21:55:50 +01:00
scripts revibe the generate unicode script to typescript 2026-02-26 21:52:20 +01:00
src refactor 2026-03-30 23:28:32 +02:00
.dockerignore add dockerfile 2026-02-01 18:02:35 +01:00
.gitignore wip not yet fully read through 2026-02-11 21:50:57 +01:00
AGENTS.md refactor 2026-03-30 23:28:32 +02:00
CLAUDE.md update agents.md 2026-03-07 15:31:51 +01:00
components.json shadcn setup 2025-04-25 14:41:51 +02:00
Dockerfile make builder stage in docker platform independent 2026-03-05 23:31:14 +01:00
eslint.config.js wip not yet fully read through 2026-02-11 21:50:57 +01:00
index.html set dark class before react loads to prevent flicker 2026-03-26 23:54:19 +01:00
LICENSE add license 2026-02-06 21:31:16 +01:00
netlify.toml fix routing 2025-05-16 17:06:13 +02:00
nginx.conf add dockerfile 2026-02-01 18:02:35 +01:00
package-lock.json minor package updates 2026-03-30 23:31:52 +02:00
package.json minor package updates 2026-03-30 23:31:52 +02:00
README.md update readme 2026-03-13 23:13:45 +01:00
tsconfig.app.json remove control character check just follow unicode for now 2026-02-26 21:28:43 +01:00
tsconfig.json wip not yet fully read through 2026-02-11 21:50:57 +01:00
tsconfig.node.json revibe the generate unicode script to typescript 2026-02-26 21:52:20 +01:00
tsconfig.vitest.json wip not yet fully read through 2026-02-11 21:50:57 +01:00
vite.config.ts explicitly add licenses.txt instead of all txt files 2026-03-13 21:56:57 +01:00
vitest.config.ts remove istanbul and fix test coverage 2026-02-15 17:13:25 +01:00

OpenDevTools

A privacy-focused collection of client-side developer utilities. All processing happens in your browser—nothing is sent to any server.

Features

Hashing & Cryptography

  • SHA-3 family: SHA3-224, SHA3-256, SHA3-384, SHA3-512
  • Keccak family: Keccak-224, Keccak-256, Keccak-384, Keccak-512
  • SHAKE: SHAKE128, SHAKE256 (configurable output length)
  • SHA-2 family: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256
  • Legacy algorithms: MD5, SHA-1, RIPEMD-160
  • File hashing: Upload files directly and compute their hashes

ID Generation

  • UUID: v1, v4, v6, v7 (RFC 4122 compliant)
  • ULID: Sortable, URL-friendly unique identifiers
  • UUID/ULID detection: Identify the type and version of any UUID or ULID

Encodings & Decoding

  • Base64: Encode/decode standard Base64
  • Base58: Cryptocurrency-style Base58 encoding
  • Base32: RFC 4648 Base32
  • Base16/Hex: Hexadecimal encoding

Text & Data Tools

  • JSON Formatter: Pretty-print and validate JSON
  • JSON Sorter: Alphabetically sort JSON object keys
  • Lorem Ipsum Generator: Generate placeholder text
  • Text Mockifier: Convert text to mocking format (e.g., hElLo WoRlD)
  • Unicode Character Detector: Inspect any Unicode text — grapheme clusters, code points, UTF-8 bytes, and UTF-16 units
  • Semver Range Parser: Parse semver ranges, check version compatibility, with a built-in cheat sheet

Getting Started

Prerequisites

  • Node.js: 25.x
  • npm: 11.x

Web Build (Static Hosting)

npm run build

Produces an optimized bundle in dist/. Deploy to any static host:

  • Netlify (see netlify.toml)
  • Traditional web server (see nginx.conf)

Docker Deployment

docker build -t opendevtools .
docker run -p 8080:80 opendevtools

Standalone Go Binary

A lightweight, dependency-free option for local deployment.

cd go
./build.sh

build.sh optionally has the --no-vite option to skip compiling the web assets. The build script compiles binaries for Linux, darwin, and Windows and are named respectively.

Security & Privacy

The application doesn't make any HTTP requests to external services during normal operation.
All processing is local, this is by design.

Development

Code Organization

  • Components: React functional components with TypeScript
  • No state management library: Props drilling and React hooks for state
  • Library functions: src/lib/ for shared logic
  • Type safety: Full TypeScript with no any types

Linting & Type Checking

  • ESLint configuration: eslint.config.js
  • TypeScript configs: tsconfig.json, tsconfig.app.json, tsconfig.node.json
  • Run checks: npm run lint

Code Generation

The Unicode block ranges in src/lib/unicodeRanges.ts are auto-generated from scripts/Blocks.txt (Unicode standard). To regenerate after updating Blocks.txt:

npm run generate:unicode

Build Verification

See the .forgejo/workflow/ci.yml for CI build.

License

See LICENSE file for details.