Developer Tools
Core dev utilities, the ones we actually use ourselves.
Formatters
Make it readable.
Text Formatter
Convert text between Sentence case, Title Case, camelCase, UPPERCASE and more.
JSON Formatter
Format and pretty-print JSON with configurable indentation and syntax validation.
CSS Prettifier
Format CSS, LESS, or SCSS with Prettier. The inverse of minifying: prettify to read.
JS Prettifier
Format JavaScript, TypeScript, JSX, or TSX with Prettier, with the options that matter.
Encoders & Decoders
Read what is inside encoded text.
URL Encoder
Encode and decode URLs and query-string values, with both encodeURIComponent and encodeURI.
JWT Decoder
Decode a JSON Web Token to read its header, payload, and expiry, or sign a new one.
JSON Stringifier
Convert a JSON object into a compact escaped string ready for code or APIs.
JSON Parser
Parse and validate a JSON string. See the type and structure of the result.
Minifiers
Ship fewer bytes.
CSS Minifier
Strip comments and whitespace from CSS to reduce file size for production.
JS Minifier
Minify JavaScript by removing comments and collapsing whitespace.
Converters
Turn one format into another.
Less to CSS
Compile Less stylesheets to CSS with full support for variables, mixins, nesting.
Image to WebP
Convert any image to WebP format in batch for faster web performance.
Image to Format
Convert any image to WebP, PNG, JPEG or AVIF in batch, right in your browser.
Image to Text
Extract text from screenshots, photos and scans with OCR in 10 languages.
Generators
Produce secure random values.
Password Generator
Generate strong random passwords with cryptographic randomness and an entropy readout.
UUID Generator
Generate UUID v4 or time-ordered v7 identifiers, singly or in batches of up to 100.
Colors
Pick, convert, and build with color.
Color Picker
Pick a color and copy it as HEX, RGB, RGBA, HSL, or HSLA, with a WCAG contrast check.
Gradient Generator
Build a CSS linear or radial gradient visually and copy the code it produces.
Playgrounds
Write, run, and share code in the browser.
JS Playground
Write and run JavaScript in a sandboxed frame, then share it as a link.
HTML Playground
HTML, CSS or Less, and JavaScript with a live preview, shareable by link.
Python Playground
Run real Python 3 in your browser on its own thread, then share it as a link.
Free online developer utilities
Every tool here exists because one of us wanted it and did not want to paste a work file into an unfamiliar website to get an answer. They run entirely inside the browser you are reading this in. There is no account, no upload step, and no queue. The set covers the small jobs that interrupt a working day: reformatting a payload before it goes in a ticket, shrinking a stylesheet for a site with no build step, reading what is inside a token, converting a folder of screenshots to something lighter.
Grouping is by task rather than by file type. Formatters make something readable again. Encoders and decoders move text into or out of a transport-safe shape. Minifiers cut bytes. Converters change one format into another, generators produce random values you can trust, the colour tools cover picking, converting, and blending, and the playgrounds run JavaScript, HTML and Python in the browser. The headings below are the list; if a group is there, it has tools in it. A tool that touches two file types is filed under the job it does, which is why JSON, CSS, and JavaScript each turn up in more than one group.
None of it is a trial, and no feature is held back behind a paid tier. The site earns its keep as an introduction to Zinc Online Solutions, which builds custom software for teams. If something on this page is close to what you need without being the thing you need, that gap is the interesting part of the conversation.
The writing under each tool is meant to be read rather than skimmed past on the way to the input box. Worked examples were run through the tool they describe and the figures in them were measured. Where a tool has a limit, its page says so. Four rounds of review have gone through that copy looking for sentences that stopped being true when the code underneath them changed, which is the failure this kind of page is prone to.
Which tool for which job
The grid above is grouped by what each tool operates on. This section is grouped by the job you arrived with, because the question is usually which of two similar tools to open rather than which category something lives in.
Text and JSON you need to read
JSON Formatter re-prints a payload with indentation so you can find the field you came for. JSON Parser answers a different question: is this valid, what type is it, how many keys does it have. Reach for the Parser when something arrived wrapped in quotes twice over, since it strips the extra layer on its own. JSON Stringifier runs the other direction and packs a document down to one escaped line. Text Formatter handles the smaller problem of capitalisation, moving between Sentence case, Title Case, camelCase and the rest.
CSS and JavaScript, in both directions
CSS Minifier and JS Minifier strip a file down for production. CSS Prettifier and JS Prettifier undo exactly that, which is what you want when the file in front of you came out of somebody else's build and arrived on a single line. Less to CSS belongs before the minifier rather than beside it. A minifier reads finished CSS and knows nothing about a variable or a mixin, so compile first and shrink the output.
Running code without setting up a project
The three playgrounds differ by what you are trying to see. JS Playground runs logic and prints to a console panel, which suits checking an algorithm before it goes anywhere near a repository. HTML Playground gives a live preview of a whole page, with markup, styles and script in their own panes. Python Playground downloads a real CPython build the first time you open it and runs your code on a separate thread, so a loop with no exit can still be stopped.
Images
Image to WebP is the one to open when the destination is a web page and WebP is the answer. Image to Format is the same converter with the target left open, covering PNG, JPEG and AVIF, which is what a picture element with fallbacks needs. Image to Text does something unrelated and runs OCR across a screenshot or a scan. All three take a batch, and none of them sends a file anywhere.
Values to generate, or to make safe to send
Password Generator draws on the browser's cryptographic randomness and shows the entropy it produced, with EFF passphrases as the alternative when a person has to type the thing. UUID Generator covers v4 and the time-ordered v7, one at a time or in batches. URL Encoder works in both directions and keeps encodeURIComponent separate from encodeURI, which is the distinction that quietly breaks query strings. JWT Decoder reads a token's header, payload and expiry, and will sign a new one.
Colour
Color Picker converts between HEX, RGB and HSL and runs a WCAG contrast check against a second colour, which is the part that settles whether text on that background is readable. Gradient Generator builds a linear or radial gradient by eye and hands back the CSS rule. One picks the value and the other produces the declaration that uses it.
Three jobs, start to finish
Most of these get opened on their own. A few jobs run through several in order, and those are the ones worth writing down.
Working out why a webhook is failing
Start with the raw request body in JSON Parser. It reports whether the thing is valid JSON at all, and if the sender encoded it twice it unwraps that rather than calling it broken. If the request carried a bearer token, paste that into JWT Decoder to read the payload and check the expiry, since an expired token and a malformed body look identical from outside. Once you know which it was, put the body through JSON Formatter and paste the indented version into the ticket, so whoever picks it up reads a structure instead of one long line.
Getting a payload into a CI environment variable
A build system takes a config blob as a single-line value, and a JSON document pasted straight in breaks at the first newline. JSON Stringifier collapses it. If the system expects the value itself to be a quoted string, turn on Wrap as string literal, which encodes the whole thing a second time and escapes every quote inside it. Paste the result back into JSON Parser afterwards to confirm it comes out the shape it went in.
Preparing images for a static site
Run the source files through Image to WebP at quality 85 and read the per-file figures it reports rather than assuming a ratio. A photograph loses almost all of its weight. A small logo already optimised as a PNG can come back bigger than it started, which is worth catching before you overwrite the original. Where a picture element needs more than one source, Image to Format converts the same batch to PNG, JPEG or AVIF instead.
Frequently asked questions
Are these developer tools free?
Yes, every one of them, with no account and no usage cap. Nothing is watermarked and nothing stops working after a set number of runs. There is a promotional card on each tool page and a newsletter signup at the bottom, and that is the whole of the commercial arrangement.
Does anything I paste get uploaded?
No. Each tool is JavaScript executing in your tab, working on the text or the file already sitting in memory there. Open your browser network panel while you use one and you will see no request carrying your input. That guarantee is the reason to reach for these rather than the first search result when the thing you are reformatting is a production config or a customer record.
Do the tools keep working without a connection?
Once a page has loaded, yes, because the work happens locally. There is one caveat worth knowing, and it is bigger than it sounds: a handful of them pull a library down from a CDN on first open. The Prettifiers, the JS Minifier and Less to CSS pull tens to hundreds of kilobytes; the three playgrounds pull megabytes, and the Python one downloads a whole Python runtime and says so on its own page. Open the ones you need once while you are online, and they will come from cache afterwards. Everything else on this site works offline from the moment the page has loaded.
Which tool should I use to shrink a stylesheet?
CSS Minifier, if what you have is plain CSS. Working in Less, compile it with Less to CSS first and minify the output, since the minifier reads real CSS and has no concept of a variable or a mixin. Going the other direction, when you have inherited a packed file and need to read it, CSS Prettifier undoes the whole thing.