<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: Tools</title><link href="http://feeds.simonwillison.net/" rel="alternate"/><link href="http://feeds.simonwillison.net/atom/beats/tool/" rel="self"/><id>http://feeds.simonwillison.net/</id><updated>2026-05-13T04:50:45+00:00</updated><author><name>Simon Willison</name></author><entry><title>CSP Allow-list Experiment</title><link href="https://tools.simonwillison.net/csp-allow" rel="alternate"/><published>2026-05-13T04:50:45+00:00</published><updated>2026-05-13T04:50:45+00:00</updated><id>https://tools.simonwillison.net/csp-allow</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/csp-allow"&gt;CSP Allow-list Experiment&lt;/a&gt;&lt;/p&gt;</summary><category term="content-security-policy"/><category term="iframes"/><category term="security"/></entry><entry><title>Big Words</title><link href="https://tools.simonwillison.net/big-words" rel="alternate"/><published>2026-05-07T18:47:09+00:00</published><updated>2026-05-07T18:47:09+00:00</updated><id>https://tools.simonwillison.net/big-words</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/big-words"&gt;Big Words&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Display and customize large text with real-time formatting options including fonts, colors, gradients, and effects. Double-click or double-tap the display area to open the settings panel and adjust text content, styling, and background appearance. Share your creations by saving the customized URL with all your settings encoded as query parameters.&lt;/p&gt;</summary><category term="vibe-coding"/><category term="tools"/></entry><entry><title>GitHub Repo Stats</title><link href="https://tools.simonwillison.net/github-repo-stats" rel="alternate"/><published>2026-05-07T07:25:14+00:00</published><updated>2026-05-07T07:25:14+00:00</updated><id>https://tools.simonwillison.net/github-repo-stats</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/github-repo-stats"&gt;GitHub Repo Stats&lt;/a&gt;&lt;/p&gt;&lt;p&gt;View GitHub repository statistics including commit counts, contributor information, language breakdowns, and release details by entering a repository name or URL. This tool fetches data directly from the GitHub REST API in your browser, displaying comprehensive metrics such as stars, forks, branches, tags, and activity timestamps. Optionally authenticate with GitHub to increase your API rate limit from 60 to 5,000 requests per hour.&lt;/p&gt;</summary><category term="github"/></entry><entry><title>Redis Array Playground</title><link href="https://tools.simonwillison.net/redis-array" rel="alternate"/><published>2026-05-04T15:53:57+00:00</published><updated>2026-05-04T15:53:57+00:00</updated><id>https://tools.simonwillison.net/redis-array</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/redis-array"&gt;Redis Array Playground&lt;/a&gt;&lt;/p&gt;&lt;p&gt;# Redis Array Playground&lt;/p&gt;</summary><category term="salvatore-sanfilippo"/><category term="webassembly"/><category term="generative-ai"/><category term="agentic-engineering"/><category term="ai"/><category term="redis"/><category term="llms"/><category term="regular-expressions"/><category term="c"/></entry><entry><title>iNaturalist Sightings</title><link href="https://tools.simonwillison.net/inat-sightings" rel="alternate"/><published>2026-05-01T19:35:41+00:00</published><updated>2026-05-01T19:35:41+00:00</updated><id>https://tools.simonwillison.net/inat-sightings</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/inat-sightings"&gt;iNaturalist Sightings&lt;/a&gt;&lt;/p&gt;&lt;p&gt;# Documentation&lt;/p&gt;</summary><category term="tools"/><category term="claude-code"/><category term="inaturalist"/><category term="generative-ai"/><category term="ai"/><category term="llms"/></entry><entry><title>Millisecond Converter</title><link href="https://tools.simonwillison.net/milliseconds" rel="alternate"/><published>2026-04-24T04:23:11+00:00</published><updated>2026-04-24T04:23:11+00:00</updated><id>https://tools.simonwillison.net/milliseconds</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/milliseconds"&gt;Millisecond Converter&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Convert milliseconds into multiple time units with this interactive tool that displays the duration in seconds, minutes, hours, days, weeks, and a human-readable format. The converter accepts numbers with commas or underscores for readability and provides both a compact breakdown (e.g., "3 minutes, 7 seconds, 238 milliseconds") and a clock-format representation. Results can be copied to the clipboard with a single click for easy sharing or documentation.&lt;/p&gt;</summary><category term="tools"/></entry><entry><title>datasette.io news preview</title><link href="https://tools.simonwillison.net/datasette-io-preview" rel="alternate"/><published>2026-04-16T00:18:03+00:00</published><updated>2026-04-16T00:18:03+00:00</updated><id>https://tools.simonwillison.net/datasette-io-preview</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/datasette-io-preview"&gt;datasette.io news preview&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Preview and validate datasette.io news entries in YAML format with real-time rendering and markdown linting. The editor loads the current news.yaml file from GitHub and provides immediate feedback on formatting errors, link validation, and markdown syntax issues while displaying a styled preview of how entries will appear on the live site. Use the error badge to track validation issues and fix them directly in the editor pane.&lt;/p&gt;</summary><category term="vibe-coding"/><category term="claude"/><category term="tools"/><category term="datasette"/></entry><entry><title>Gemini 3.1 Flash TTS</title><link href="https://tools.simonwillison.net/gemini-flash-tts" rel="alternate"/><published>2026-04-15T16:41:46+00:00</published><updated>2026-04-15T16:41:46+00:00</updated><id>https://tools.simonwillison.net/gemini-flash-tts</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/gemini-flash-tts"&gt;Gemini 3.1 Flash TTS&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Convert text to natural-sounding speech using Google's Gemini 3.1 Flash TTS model with support for both single-speaker and multi-speaker conversation modes. The tool allows you to customize voice selection, apply directorial tags like `[whisper]` and `[short pause]` for dynamic delivery, and download the generated audio as a WAV file. Requires a valid Gemini API key to function.&lt;/p&gt;</summary><category term="gemini"/><category term="google"/></entry><entry><title>SQLite Query Result Formatter Demo</title><link href="https://tools.simonwillison.net/sqlite-qrf" rel="alternate"/><published>2026-04-11T19:35:31+00:00</published><updated>2026-04-11T19:35:31+00:00</updated><id>https://tools.simonwillison.net/sqlite-qrf</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/sqlite-qrf"&gt;SQLite Query Result Formatter Demo&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Format SQLite query results in 20 different styles including box-drawing tables, CSV, JSON, HTML, Markdown, and more using this interactive WebAssembly-based demonstration. Adjust formatting options like column headers, screen width, NULL display values, and border styles in real-time to see how your SQL queries render across all available output modes. The demo database includes sample tables for employees, products, and orders with pre-built example queries showcasing each formatting style.&lt;/p&gt;</summary><category term="tools"/><category term="sqlite"/></entry><entry><title>GitHub Repo Size</title><link href="https://tools.simonwillison.net/github-repo-size" rel="alternate"/><published>2026-04-09T21:31:50+00:00</published><updated>2026-04-09T21:31:50+00:00</updated><id>https://tools.simonwillison.net/github-repo-size</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/github-repo-size"&gt;GitHub Repo Size&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Check the size of any GitHub repository by entering the owner and repository name or pasting a GitHub URL. The tool fetches repository data from the GitHub API and displays the total size in kilobytes, megabytes, or gigabytes depending on the repository's scale. Results are automatically saved to the browser URL, allowing you to share or revisit repository size checks.&lt;/p&gt;</summary><category term="cors"/><category term="github"/></entry><entry><title>Cleanup Claude Code Paste</title><link href="https://tools.simonwillison.net/cleanup-claude-code-paste" rel="alternate"/><published>2026-04-06T02:55:23+00:00</published><updated>2026-04-06T02:55:23+00:00</updated><id>https://tools.simonwillison.net/cleanup-claude-code-paste</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/cleanup-claude-code-paste"&gt;Cleanup Claude Code Paste&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Clean up Claude Code terminal output by removing the ❯ prompt character, fixing whitespace from line wrapping, and joining broken lines into readable paragraphs. Paste your terminal text into the input field and the cleaned output will appear automatically, ready to copy to your clipboard.&lt;/p&gt;</summary><category term="tools"/><category term="claude-code"/></entry><entry><title>Syntaqlite Playground</title><link href="https://tools.simonwillison.net/syntaqlite" rel="alternate"/><published>2026-04-05T19:32:59+00:00</published><updated>2026-04-05T19:32:59+00:00</updated><id>https://tools.simonwillison.net/syntaqlite</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/syntaqlite"&gt;Syntaqlite Playground&lt;/a&gt;&lt;/p&gt;&lt;p&gt;# Syntaqlite Playground&lt;/p&gt;</summary><category term="sql"/><category term="ai-assisted-programming"/><category term="sqlite"/><category term="tools"/><category term="agentic-engineering"/></entry><entry><title>Pretext — Under the Hood</title><link href="https://tools.simonwillison.net/pretext-explainer" rel="alternate"/><published>2026-03-29T19:59:28+00:00</published><updated>2026-03-29T19:59:28+00:00</updated><id>https://tools.simonwillison.net/pretext-explainer</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/pretext-explainer"&gt;Pretext — Under the Hood&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Explore how pure-JavaScript text measurement and line breaking work through an interactive visualization of the Pretext library's pipeline. This tool demonstrates each stage from raw text input through whitespace normalization, word segmentation, canvas-based width measurement, and arithmetic-based line breaking, with live verification against actual DOM rendering.&lt;/p&gt;</summary></entry><entry><title>Python Vulnerability Lookup</title><link href="https://tools.simonwillison.net/python-vulnerability-lookup" rel="alternate"/><published>2026-03-29T18:46:16+00:00</published><updated>2026-03-29T18:46:16+00:00</updated><id>https://tools.simonwillison.net/python-vulnerability-lookup</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/python-vulnerability-lookup"&gt;Python Vulnerability Lookup&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Search Python packages for known security vulnerabilities by pasting a `pyproject.toml` or `requirements.txt` file, or by loading dependencies directly from a GitHub repository. The tool queries the OSV.dev vulnerability database and displays detailed information about any identified vulnerabilities, including severity levels, affected version ranges, and links to full disclosure reports.&lt;/p&gt;</summary><category term="tools"/><category term="python"/><category term="supply-chain"/><category term="vibe-coding"/><category term="security"/></entry><entry><title>DNS Lookup</title><link href="https://tools.simonwillison.net/dns" rel="alternate"/><published>2026-03-22T19:16:30+00:00</published><updated>2026-03-22T19:16:30+00:00</updated><id>https://tools.simonwillison.net/dns</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/dns"&gt;DNS Lookup&lt;/a&gt;&lt;/p&gt;&lt;p&gt;# DNS Lookup Documentation&lt;/p&gt;</summary><category term="dns"/><category term="cors"/><category term="cloudflare"/></entry></feed>