Online tools
Small utilities for developers. Input stays in the browser and is not uploaded. Every tool has a Chinese and an English page.
JSON formatter
Turn one-line JSON into indented text, or squash formatted JSON into one line. Invalid input shows where parsing stopped.
Timestamp converter
10 digits are seconds, 13 digits are milliseconds. You can also start from a date and get both timestamps.
MD5
Enter text and get a 32-character hex MD5. This checks a value you already have; it cannot recover the original text.
Base64 encode and decode
Encoding uses UTF-8. If decoding fails, the tool says the input is not valid Base64 instead of showing mojibake.
SHA hash
One input shows all three digests, for checking a published checksum or the exact string you are about to sign.
URL encode and decode
Uses encodeURIComponent rules. Use it for a parameter value, not for a full URL that must keep ://.
UUID generator
Each value is a random version-4 UUID, for request ids, temporary keys, or test data.
QR code
Download the PNG after generating. To read a code, pick a clear image; decoding happens locally.
Regex tester
An invalid pattern shows the error instead of an empty match list. Global mode lists every match.
Password generator
Uses the system random source. Keep at least one character set. The page does not store the password.
Text diff
Useful for configs, logs, or a short snippet. The comparison is by line.
JWT decoder
This only decodes. It does not check that a secret signed the token. exp is shown as a readable time.
Base converter
Enter an integer in one base and see the other three. Fractional numbers are not supported.
Unicode escape
Useful when an API shows Unicode escapes. Each code unit is written as \u plus four hex digits.
Color converter
Enter one form and get the other two, plus a CSS color you can copy.
Cron expression
Supports minute, hour, day, month, and weekday, including *, numbers, ranges, lists, and */step.
HTML escape
Handles & < > " and the apostrophe. Nothing is uploaded.
CSS formatter
Use it to clean a stylesheet or shrink it.
JavaScript formatter
Minify removes space and comments and leaves identifiers unchanged.
SQL formatter
Keywords are uppercased so SELECT and JOIN are easy to scan.
XML formatter
Attributes stay. Useful for API payloads and config files.
YAML and JSON
Use it when a config file needs the other format.
CSV and JSON
Quotes and commas follow CSV rules.
TOML and JSON
Useful for Cargo files and tool configs.
JSON to TypeScript
Arrays use the first element as the item type.
JSON to Go struct
Field names are exported and tags keep the original keys.
Query string
Values are encoded with URL rules.
chmod converter
Accepts 755 and rwxr-xr-x.
Subnet calculator
Use a form like 192.168.1.0/24. /31 and /32 are treated as point-to-point.
HTTP status codes
Filter by number, such as 404 or 502.
User-Agent parser
Covers common browsers and desktop or mobile systems.
Image to Base64
Useful for small icons and for checking a data URL.
px rem converter
Change the root size and both rem and em follow.
Case converter
Useful for variable names and URL slugs.
Line tools
Comparison is per line. Text inside a line stays as it is.
Text counter
Characters follow Unicode. Bytes follow UTF-8.
Markdown preview
Use it to see how a README will look.
gitignore generator
Select more than one. The pieces are concatenated.
HMAC
Choose SHA-1, SHA-256, or SHA-512.
Cookie parser
Use it to see what the browser actually sent.
Basic Auth
The password stays in this browser.
HTML formatter
Meant for a snippet, not a site build.
JSON to Java
Integers become long, fractions double, and arrays List.
JSON to Rust
Integers become i64 and fractions f64.
XML and JSON
Useful for API payloads.
.env parser
Matching quotes are removed. Lines starting with # are skipped.
Random ID
Set the length and how many to make.
Certificate PEM
A private-key PEM is reported as not a certificate. Nothing is uploaded.
TOTP
The secret stays in the browser. The period is 30 seconds, HMAC-SHA1.
Semver compare
A release is newer than the same numbers with a pre-release tag.
IPv4 and integer
The order is network byte order.
IPv6 expand and compress
Embedded IPv4 is left aside.
Common ports
Search by number or protocol name.
MIME types
Filter with .json, json, or text/html.
Byte units
Disk makers often use 1000. Memory and files often use 1024.
Color contrast
Body text usually needs 4.5:1. Large text can pass at 3:1.
CSS gradient
A preview is shown on the page.
Box shadow
Empty fields use a readable default.
Border radius
A color block shows the preview.
HTML to JSX
Meant for a small snippet, not a full compiler.
SVG minify
Path data stays. Only obvious extra characters are removed.
Gzip size
A server may use a slightly different compression level.
Line endings
Mixed \r\n and \n are normalized first.
JSON string escape
Newlines and quotes follow JSON rules.
Glob tester
One path per line. Each line is marked yes or no.
Base32 and Base58
Base32 follows RFC 4648. Base58 uses the Bitcoin alphabet.
Hex view
Spaces between bytes are fine.
Float bits
Both float64 and float32 are shown.
ASCII table
Control characters are labeled, including TAB, LF, and CR.
Slug generator
Punctuation becomes a single hyphen.
HTML numeric entities
Useful when you need to see how Chinese is written in HTML.
CSS selector explainer
Covers descendant, child, adjacent sibling, and general sibling.
srcset builder
File names use /img-width.jpg. Change them to real paths.
Aspect ratio
The older padding-top percentage is included.
Placeholder image
The maximum edge is 2000. Nothing is uploaded.
Favicon generator
The file stays in the browser.
EXIF viewer
Make, model, time, and orientation are shown. The file is not uploaded.
Image resize
Drawing happens in the browser. Nothing is uploaded.
SVG to JSX
Meant to paste into a React component.
CSV to SQL
Numbers stay numbers. Empty cells become NULL.
JSON to SQL
Keys become columns. Nulls become NULL.
Nginx snippet
It explains the snippet you paste and does not build a whole site config.
docker run to Compose
Covers -p, -e, -v, --name, and --restart.
Cron to systemd
When both day and weekday are set, cron ORs them. This OnCalendar ANDs them.
umask calculator
Files start from 666 and directories from 777, then the umask is cleared.
Subnet overlap
The check uses the network and broadcast addresses.
MAC address
Generated addresses set the locally administered bit.
Email and URL check
This checks the shape only. It does not send mail or fetch the address.
Open Graph tags
Empty fields are omitted.
robots.txt generator
One path per line.
Sitemap URL
This is a single entry, not a whole urlset.
Cache-Control explainer
Use it when a response is cached in a way you did not expect.
CORS headers
One response header per line.
Set-Cookie parser
Use it when a login cookie is not sent.
JWT sign locally
This is for your own tests. It does not identify a production issuer.
JWK and PEM
Conversion stays in the browser.
SSH fingerprint
Paste an ssh-ed25519 or ssh-rsa line.
known_hosts line
A hashed line does not reveal the original name.
Random port
The browser random source is used. Nothing is uploaded.
Placeholder text
Choose how many paragraphs. The sentences themselves stay fixed.