Getting Started
DevTools by Hakeemify is a suite of professional developer utilities โ free to use, no account required. Every tool works instantly in your browser with no installation, no signup, and no loading delays.
RegexLab
Visual regex builder & tester
CronBuilder
Cron expression generator
JSONCraft
JSON formatter & transformer
HashLab
Hash, encode, decode & generate
URLInspector
Parse, inspect & build URLs
DiffViewer
Side-by-side text diff viewer
ColorSystemPro
Design system from one brand color
InvoiceZen
Professional invoices in 60 seconds
CSVStudio
Preview, filter & convert CSV files
APITester
Lightweight HTTP request builder
JWT Decoder
Decode, inspect & verify JWTs
Timestamp Converter
Unix time, humanized
YAML โ JSON
Convert between YAML and JSON
Password Generator
Strong passwords & passphrases
SQL Formatter
Beautify and minify SQL
.env Comparer
Diff two environment files
How it works
Open any tool
Build your pattern or expression
Share or export
Install it (optional)
CronBuilder
LIVEGenerate, validate, and understand cron expressions. CronBuilder gives you live feedback, plain-English explanations, upcoming run times, and ready-to-paste code for every platform.
Type any cron expression and get instant validation. Each field (minute, hour, day, month, weekday) is colour-coded for fast visual parsing.
Converts your cron into a human-readable sentence โ 'Every 5 minutes, every hour, every day' โ using the cronstrue library.
Shows the next 8 upcoming run times in your local timezone so you can verify the schedule is exactly what you intend.
Every minute, every 5 minutes, daily 9am, weekdays 9am, monthly 1st, and more โ click to load instantly.
Export to Node.js, Python, Linux crontab, GitHub Actions, and Docker in one click.
The cron expression is encoded in the URL: /tools/cronbuilder?cron=*/5+*+*+*+*
Cron syntax reference
Minute
0โ59
Hour
0โ23
Day
1โ31
Month
1โ12
Weekday
0โ7
Special characters
These work in any field:
*Any value โ matches every possible value for that field*/nEvery n โ e.g. */15 in minute = every 15 minutesn-mRange โ e.g. 1-5 in weekday = Monday to Fridaya,bList โ e.g. 0,6 in weekday = Sunday and Saturdayn/mStep from n โ e.g. 2/5 = starting at 2, every 5RegexLab
LIVEBuild, test, and understand regular expressions visually. RegexLab shows you what each part of your pattern does, highlights matches in your test text, and exports working code in 4 languages.
Every character in your pattern is tokenized and colour-coded โ literals (green), escapes (teal), quantifiers (orange), anchors (purple), groups (blue), meta (red). Click any token for a plain-English explanation.
Paste any text below your pattern and matches are highlighted instantly. Multiple matches use different colours for easy scanning.
Switch to List view to see every match with its index position, length, and captured group values.
Prebuilt patterns for email, URL, phone numbers (US + Bangladesh), IPv4, dates, hex colors, usernames, passwords, SQL injection, XSS, Markdown parsing, and more.
Export your pattern as ready-to-use JavaScript, Python 3, PHP, or Go code with one click.
Pattern, flags, and test text are all URL-encoded. Share exactly what you're testing.
Regex flags
gGlobal
Find all matches, not just the first one
iIgnore case
Makes the match case-insensitive โ a matches A
mMultiline
^ and $ match start/end of each line, not just the string
sDotall
. matches any character including newlines
uUnicode
Enables full Unicode support and Unicode escape sequences
ySticky
Match only from the position indicated by lastIndex
Token types
abcExact character matches
\d \wShorthand character classes
[a-z]Character sets and ranges
* + {3}How many times to match
^ $ \bPosition assertions
(abc)Capture and non-capture groups
. |Special metacharacters
Common pattern examples
JSONCraft
LIVEJSONCraft is live with 6 features: Format with syntax highlighting, Validate with stats, TypeScript interface generator, Zod schema generator, CSV export, and Sort keys โ all processed locally in your browser.
Paste minified or malformed JSON and get it beautifully indented with correct whitespace.
Instant syntax error detection with precise line/column error reporting.
Remove all whitespace for production payloads or API requests.
Auto-generate typed TypeScript interfaces from any JSON object.
Generate Zod validation schemas directly from JSON structure.
Compare two JSON documents and highlight the differences.
Convert JSON arrays to CSV or transform to YAML format.
What JSONCraft can do
Syntax-highlighted output with colour-coded keys, strings, numbers, booleans, and nulls
Instant error reporting with stats: key count, nesting depth, arrays, strings, numbers
Auto-generate typed interfaces from any JSON structure with nested types
Generate z.object() schemas with inferred type export ready for your project
Convert JSON arrays to CSV with proper escaping and one-click download
Recursively sort all object keys AโZ for clean diffs and version control
HashLab
LIVEHash, encode, decode, and generate โ all processed locally using the browser's native Web Crypto API. Nothing leaves your device.
SHA-1, SHA-256, SHA-384, SHA-512. All four generated simultaneously from your input. Copy any individually.
Standard Base64 and URL-safe Base64 (replaces + โ - and / โ _ for use in URLs and JWTs).
encodeURIComponent / decodeURIComponent โ essential for building query strings and parsing URLs.
Convert text to its hexadecimal byte representation and back.
Cryptographically random UUIDs using crypto.getRandomValues(). Generate 1, 5, 10, or 20 at once.
21-character URL-safe unique IDs โ shorter than UUID, same entropy. Popular in modern apps.
๐ก Why no MD5?
MD5 is cryptographically broken and the Web Crypto API deliberately does not implement it. For checksums use SHA-256. For passwords use bcrypt (server-side only โ never hash passwords in the browser).
URLInspector
LIVEPaste any URL and instantly see every component colour-coded and labelled. Build URLs visually and copy query parameters one by one.
Protocol (amber), hostname (green), port (blue), path (teal), query string (purple), fragment (grey) โ visually distinct at a glance.
Each key=value pair shown separately with individual copy buttons. Useful for debugging API calls with many parameters.
Compose a URL visually: pick protocol, enter host, path, fragment, and add/remove query params dynamically. Output updates live.
Paste a bare hostname like google.com and URLInspector automatically prepends https:// so parsing always works.
DiffViewer
LIVECompare any two pieces of text with line-level diff highlighting. Uses the Myers diff algorithm โ the same algorithm used by Git.
Original and modified side-by-side with line numbers. Deletions on the left in red, insertions on the right in green.
Classic unified diff format with + and โ prefixes. Mirrors what you see in git diff or GitHub PR reviews.
Live counts of lines added, removed, and unchanged shown in the header as you type.
Export the diff in standard unified patch format โ paste directly into a .patch file or GitHub comment.
JSON config, code function refactor, and SQL query โ load instantly to see the diff engine in action.
Works great for
ColorSystemPro
LIVEInput one hex color and get a complete design system โ 11-step scale, neutral palette, WCAG contrast ratios, dark/light mode preview, and export in 5 formats. Pure browser math, no AI.
Steps 50โ950 generated from your brand color using HSL interpolation, matching Tailwind's methodology. Click any swatch to copy its hex.
Not plain grey โ a subtly hue-shifted neutral scale that feels designed and cohesive with your brand color.
Every scale step tested against white and black with AA and AAA pass/fail badges. Know exactly which steps are safe for text.
Live UI mockup using your generated scale. See how your colors look in both modes before committing.
Save up to 100 named palettes and reload them instantly across devices.
CSS Variables, Tailwind Config, SCSS variables, JSON Design Tokens, and Dark Mode CSS โ ready to paste into your project.
Export formats
--color-primary-500: #4F8EF7;colors: { primary: { 500: '#4F8EF7' } }$primary-500: #4F8EF7;{ "primary": { "500": "#4F8EF7" } }--bg: #07090F; --surface: #111827;InvoiceZen
LIVECreate professional PDF invoices in under 60 seconds. No account, no uploads, no server โ everything is processed locally in your browser. Works for freelancers, agencies, and small businesses.
Fill in your details in Edit mode, then switch to Preview to see the finished invoice exactly as it will print.
Uses the browser's native print dialog targeting only the invoice element. No jsPDF or server needed โ clean A4 output.
USD, BDT, EUR, GBP, CAD, AUD, SGD, INR โ with correct currency symbols automatically applied throughout.
Subtotal, discount (%), tax (%), and total calculated live as you type. Add or remove line items dynamically.
Your chosen color is applied to the invoice header, table headers, and total bar โ instant brand identity.
Save up to 100 invoice templates. Reload a previous client's invoice, update the date and items, and export in seconds.
Export the full invoice data as JSON for your own records or to import into accounting software.
๐ Privacy note
InvoiceZen processes everything locally. Your client names, amounts, and business details are never sent to any server. The PDF is generated using your browser's print engine. Nothing is stored unless you explicitly save it with a Pro account.
CSVStudio
LIVEUpload or paste CSV data and instantly get a sortable, filterable table. Inspect column statistics, then export to JSON, SQL INSERT, or Markdown โ all processed locally.
Sortable columns (click any header), filterable rows, colour-coded numeric values in teal. Click any cell to copy its value.
Per-column analysis: row count, empty count, unique values, and for numeric columns: min, max, average, and sum.
Upload a file and CSVStudio automatically detects whether it uses commas, tabs, semicolons, or pipes.
JSON Array (typed โ numbers stay numbers, nulls are null), SQL INSERT with your table name, and Markdown table.
Upload .csv, .tsv, or .txt files directly. The filename becomes the default SQL table name.
Save CSV datasets for quick reload โ useful for reference data you use across multiple projects.
APITester
LIVEBuild and send HTTP requests directly from your browser. See responses with syntax-highlighted JSON, timing, size, and response headers. No install required.
GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS โ each colour-coded so you always know which method is active.
Bearer token, Basic auth (username + password), and API Key (custom header name). Auth is injected into the request headers automatically.
JSON editor with monospace green text, HTML form (key-value pairs), and raw text. Content-Type header is set automatically.
JSON responses are colour-coded: keys in blue, strings in green, numbers in teal, booleans in amber, nulls in red.
Response time in ms and body size shown in the header bar. Green under 200ms, amber under 1s, red above.
Save up to 100 API requests โ URL, method, headers, auth, and body โ and reload them instantly.
โ CORS note
Requests are sent directly from your browser, so APIs that don't set CORS headers will be blocked. This affects public APIs that only allow server-to-server calls. For those, use APITester to build and copy the request, then run it from your terminal with curl.
JWT Decoder
LIVEPaste any JWT to instantly decode its header and payload, check expiry status, and verify HMAC signatures โ all in your browser.
Header and payload are decoded and pretty-printed the moment you paste a token โ no button needed.
exp, iat, and nbf claims are parsed into human-readable dates with a live relative-time countdown and a clear valid/expired badge.
Flags tokens using alg: none โ a known JWT vulnerability where the signature is stripped entirely.
Enter the signing secret to verify HS256/HS384/HS512 signatures locally via the Web Crypto API. RS/ES/PS algorithms need a public key and aren't supported.
๐ Security note
JWTs are encoded, not encrypted โ anyone can read the header and payload without a secret. Never store passwords or sensitive secrets in a JWT payload. Saving is intentionally not offered for this tool.
Timestamp Converter
LIVEConvert Unix timestamps to human-readable dates and back, with live current time and timezone support.
Unix seconds and milliseconds update every second, so you always have a reference point.
Paste a 10-digit or 13-digit timestamp and it's interpreted correctly without needing to specify the unit.
19 common timezones covering major regions โ auto-detects your browser's timezone on load.
Unix seconds/ms, ISO 8601, RFC 2822, localized timezone string, relative time, and day of week โ each with a one-click copy.
YAML โ JSON
LIVEConvert between YAML and JSON in either direction โ essential for Docker Compose, Kubernetes manifests, and CI/CD config files.
One swap button flips direction and carries your current output into the new input side.
Handles nested mappings and sequences, including sequences of mappings (e.g. a list of service definitions).
Supports inline arrays [a, b, c] and inline objects {'{a: 1, b: 2}'} alongside standard block-style YAML.
Save frequently converted config snippets and reload them across devices.
โ Parser scope
This is a lightweight YAML subset parser built for common config files. It does not support multi-document YAML (---), anchors/aliases (& and *), or block scalars (| and >). For those, use a full YAML library in your build pipeline.
Password Generator
LIVEGenerate cryptographically secure passwords or memorable passphrases, with entropy calculation and bulk generation.
Uses crypto.getRandomValues() โ the same secure random source browsers use for encryption keys, not Math.random().
Toggle uppercase, lowercase, digits, and symbols independently. Optionally exclude visually ambiguous characters (0/O, 1/l/I).
Generate word-based passphrases (e.g. crown-falcon-marble-42) from a built-in word list โ easier to type and remember, still high entropy.
Every generated password shows its entropy in bits and a Weak/Fair/Good/Strong rating based on that value.
Generate 5, 10, or 20 at once with copy-all support.
๐ก Why no saving?
Generated passwords are intentionally not saveable here. Use a dedicated password manager to store credentials โ a browser utility tool is not the right place for that.
SQL Formatter
LIVEBeautify raw SQL queries with proper keyword casing and clause-level indentation, or minify to a single line.
Breaks queries onto new lines at major clauses (SELECT, FROM, WHERE, JOIN, GROUP BY, ORDER BY, etc.) with consistent indentation.
Collapses a formatted query back to a single line โ useful for logging or embedding in application code.
All recognized SQL keywords are automatically uppercased for consistency, regardless of how you typed them.
Save frequently used queries and reload them across devices.
โ Formatter scope
This is a heuristic formatter, not a full SQL parser. It covers common ANSI/MySQL/PostgreSQL SELECT, INSERT, UPDATE, DELETE, and CREATE TABLE statements well, but deeply nested subqueries or unusual vendor-specific syntax may not format perfectly.
.env Comparer
LIVECompare two .env files to spot missing variables and value drift between environments โ for example, local vs. production.
Every key is categorized as Same, Different, Only in A, or Only in B โ click any stat card to filter the list.
Values are partially masked (e.g. abโขโขโขโขโขโขโขโขyz) until you explicitly click Reveal โ protects secrets from shoulder-surfing.
One click produces a template with every key from both files and empty values โ safe to commit to version control.
Coming Soon
The following tools are in design or development. Pro and Lifetime users get early access the moment each tool ships.
Paste any Terms of Service URL and get a plain-English summary of data sharing, auto-renewal traps, cancellation policies, and deletion rights.
Pro & Lifetime
All tools are free forever โ no account required. Pro and Lifetime plans unlock additional power features.
Free
$0forever
- โAll tools, all core features
- โURL-based sharing
- โCode export
- โNo account needed
- โ22+ regex patterns
- โ12 cron presets
Pro Monthly
$4/month
- โEverything in Free
- โSave unlimited patterns
- โTeam sharing & workspaces
- โEarly access to new tools
- โPriority email support
- โเงณ490 BDT via AamarPay
Lifetime
$79once
- โEverything in Pro
- โPay once, use forever
- โAll future tools included
- โNo renewals ever
- โSupporter badge
- โเงณ7,990 BDT via AamarPay
Payment gateways
๐ง๐ฉ Bangladesh โ AamarPay
bKash, Nagad, Rocket, Visa, Mastercard, and 30+ local bank cards. Prices in BDT.
๐ International โ Lemon Squeezy
Visa, Mastercard, PayPal, Apple Pay, Google Pay. 30+ currencies. Powered by Stripe.
Share & Export
Every tool encodes its state in the URL. No account needed to share your work.
URL sharing
When you use any tool, the URL updates automatically with your current state. Copy the URL from your browser and share it. Your recipient opens the same tool in the same state โ pattern loaded, test text included, flags set.
Code export
RegexLab generates working code snippets in 4 languages:
FAQ
Do I need an account to use the tools?
No. All tools work fully without signing up. An account lets you save patterns, share sessions across devices, and access Pro features.
Are my patterns and data stored anywhere?
No. All processing happens entirely in your browser. No data is sent to our servers. Your patterns, test text, and results never leave your device.
Why does my regex work locally but not on the server?
RegexLab uses JavaScript regex syntax. Some features (lookbehind, named groups) require Node.js 10+. PHP uses PCRE syntax which differs slightly โ use the PHP export snippet to test PCRE-compatible patterns.
Can I use tools offline?
Yes. Once the page has loaded, all tool logic runs locally in your browser. You can disconnect from the internet and the tools will continue to work.
What does Pro actually unlock?
Saving patterns and sessions across devices, team sharing workspaces, early access to new tools before public launch, and priority email support. All core tool functionality is free forever.
Can I pay in Bangladeshi Taka?
Yes. Bangladesh users are automatically detected and shown BDT pricing via AamarPay (bKash, Nagad, Rocket, bank cards). International users pay in USD via Lemon Squeezy.
How do I request a new tool?
Email hakeemify.com/contact with your tool idea. Features requested by multiple users are prioritised in our roadmap.
What happens to my saved data if my Pro plan expires?
Nothing is deleted. Your data stays intact. You simply lose access to Pro-only features until you renew. Re-subscribe at any time to regain full access immediately.