▷
My bookmarks bar is a graveyard. Something looks handy, I save it, and then I never think about it again. This is the opposite of that: the web development tools I keep going back to.
Getting context to a coding agent
- npmx — a faster front end for the npm registry. Install size including transitive dependencies, ESM/CJS badges, outdated-dependency and OSV vulnerability warnings, provenance, and JSR cross-references. Handy for deciding whether a package is worth adding before you or an assistant reach for it.
- Repomix — packs a whole repo into one file for pasting into a model. It respects
.gitignore, counts tokens per file so you can see what’s eating the context window. - Gitingest — the same idea with no install. Get a text digest of the repo: summary, directory tree, file contents. Both of these are how I get a library’s real docs in front of an assistant.
- Name That UI — describe an interface element in your own vague words and get back what it’s actually called, the API symbol for it, and a prompt you can hand to a coding agent.
Working out what you can ship
- Can I use — still the first tab I open for a support question.
- Web Features Explorer — the same data cut by Baseline status. Newly available, widely available, limited, discouraged; features missing from one engine; what shipped in the last release of each browser.
- Browserslist — a playground for the query in your
package.json. Type> 0.2% and not dead, see the browser list and the audience coverage it buys you. - Can I email — the same thing for email clients, which is a bleaker read but a necessary one.
CSS and layout
- oklch.com — an OKLCH colour picker with the P3 and sRGB gamut boundaries drawn in, so you can see when a colour is about to fall out of range.
- Easing Wizard — visual editor for CSS timing functions. Bézier curves, plus springs, bounce, wiggle, overshoot and jumps, with CSS or Tailwind output.
- Utopia — fluid type and space calculators. Set a scale for a small screen and a large one, and it hands you the
clamp()that interpolates between them, so you can drop most of the in-between breakpoints. - CSS Grid Generator — set columns, rows and gutters, drag out the areas, copy the CSS. Good for the first draft of a layout.
- Layoutit Grid — the same idea with more room to work: draw the grid on a canvas and copy out the HTML and CSS together. Better when the layout has real structure.
- Tailwind Grid Generator — drag out a grid and get Tailwind classes back as HTML or JSX, for when the project is on Tailwind and you don’t want raw CSS.
SVG
- SVGOMG — Jake Archibald’s GUI for SVGO. Toggle each optimisation, watch the byte count fall against the original, and it works offline once loaded.
- SVGR — paste an SVG and get a React component out, optimised, using
currentColorand taking props. The playground mirrors the CLI and build-plugin options, so you can settle on a config here first. - Boxy SVG — a paid vector editor that runs in the browser (and as a desktop app). It writes clean, readable SVG rather than the tag soup most editors leave behind.
Icons, logos and loaders
- Lucide and Phosphor — the two general-purpose icon sets I reach for. Lucide for a plain, consistent line set; Phosphor when I want weights (thin through fill) from one family.
- SVGL — brand and product logos as SVG, with an API if you need them programmatically.
- Lobe Icons — logos for AI providers and models specifically, which the general logo sets tend to be behind on.
- Circle Flags — country flags as circles, all the same size and shape. Rectangular flags in a list never quite line up; these do.
- LDRS and SVG loaders — spinners and loading indicators, HTML/CSS/SVG, as React or web components.
- dot/matrix — 60 quiet dot-matrix loaders, each a self-contained SVG of about four kilobytes with the animation in CSS keyframes. No JavaScript, no GIFs, and they respect
prefers-reduced-motion.
Converting code and data
- Transform — a wall of converters in one place: JSON to TypeScript or Zod or Go, CSS to JS objects or Tailwind, HTML to JSX, SVG to components, and back the other way for most of them.
- quicktype — feed it JSON, a JSON Schema or a URL and get typed models out in around twenty languages: TypeScript, Go, Rust, Swift, Kotlin and the rest.
- AST Explorer — see the syntax tree for JavaScript, TypeScript, CSS, GraphQL and a long list of others, and prototype a codemod or lint rule against it with jscodeshift, Babel or ESLint.
- snippet generator — turn a chunk of code into the JSON that VS Code, Sublime Text or Atom wants for a snippet, tab stops and all.
On the command line
- explainshell — paste a long command and it breaks each flag out against the matching man-page line. Pipes and redirection included.
- FFmpeg Buddy — tick the boxes for scale, trim, rotate or drop the audio, and it assembles the ffmpeg command you were about to go and search for.
Drawing and diagrams
- Excalidraw — the hand-drawn whiteboard. Infinite canvas, end-to-end encrypted rooms for live collaboration, exports to PNG or SVG, and it keeps your work in the browser.
- tldraw — a second infinite canvas, crisper than Excalidraw’s sketchy look. I reach for it when the diagram wants straight lines.
- Kleki — a free browser paint app with layers, pen pressure and a proper set of brushes. Good for a quick sketch without opening anything heavier.
- edit.photo — a browser photo editor that does the work locally; nothing gets uploaded. Handles JPEG, PNG, WebP, HEIC and GIF.
- PostSpark — wraps a screenshot in a device frame and a background for posting.
Words and text
- NotebookLM — upload your own sources and ask questions answered only from them, with citations back to the page. The audio overview turns a pile of documents into something you can listen to.
- DeepL Write — fixes spelling and grammar and offers a few rephrasings of a sentence. I trust its ear for tone more than the usual grammar checkers.
- DeepL Translator — the translation I reach for over Google Translate; the phrasing tends to come out more natural.
- Detergent — paste in the copy a stakeholder sent you and get it back cleaned: invisible characters stripped, straight quotes curled, entities encoded, widows removed.
- RegExr — a regex editor that explains each token as you build it, against your own test text.
Smaller things
- BenchJS and tinybench — benchmarking two ways. BenchJS runs and compares JavaScript in the browser with a shareable URL; tinybench is the same statistics as a tiny, zero-dependency library for your own repo.
- PDFTool — merge, split, rotate, sign, OCR and encrypt PDFs, all in the browser via WebAssembly. Nothing is uploaded; pull the network cable and it still works.
- JSON to YAML — exactly that, both directions, for when you don’t need the whole of Transform.
Newsletters
- Web Weekly — Stefan Judis rounds up web-platform news every Monday: new browser features with their Baseline status, an MDN fact, and a tiny helper or two.
- React Status — a weekly, hand-picked React digest from Cooperpress. Hooks, patterns, performance, React Native, the ecosystem worth tracking.
If you have one that belongs here, I’d like to hear about it.