A collection of browser-based HTML+JavaScript tools for various tasks. These tools are prototypes, not products. They have been developed quickly and iteratively using LLMs to test the afforances and limitations of agentic coding. Each tool has been tailored to my own practical needs. At the same time they are also intended to provide genuine utility and value for others.
Some tools require external dependencies which are loaded from trusted CDNs. All tools run entirely in your browser with no server-side processing. Tools that load a CDN library list it below their description as a dependency.
- π No server-side processing required
- π All data stays in your browser
- π± Works on any modern browser
- π Search functionality to find tools quickly
Navigate to https://virtualarchitectures.github.io/Browser-Tools/ in your browser to access the tools.
- CSV Cleaner β trim whitespace, collapse spaces, strip JSON artefacts, and find and replace across CSV data with regex support
- CSV to JSON Converter β convert CSV files to JSON format with support for dot notation parsing, multiple output formats (JSON Array, JSON Lines), and table preview
- JSON to CSV Converter β convert JSON, JSONL, and NDJSON files to CSV format with support for nested objects, array handling, and table preview
- Table Editor β create tables or load existing CSV files for editing, export to CSV, JSON, or JSON Lines format
- Data Summary β load a CSV and profile dataset quality with a completeness bar chart, per-column summary table, and detailed statistics including non-blank counts, unique values, min/max/mean for numeric columns, date ranges, and top values. Dependencies:
Chart.js - Data Visualiser β load a CSV and create bar, line, area, scatter, histogram, pie, and doughnut charts with automatic column type inference and per-axis type overrides. Dependencies:
Chart.js - Linear Regression β fit a simple linear regression to two numeric columns from a CSV; shows the regression equation, RΒ², Pearson r, p-value, confidence and prediction interval bands, residual diagnostics (residuals vs. fitted, histogram with normal overlay), a detailed coefficients and ANOVA table, auto-generated interpretation, and a critical reflection section covering assumptions and caveats. Dependencies:
Chart.js
- Email Header Analysis β analyse and highlight email headers with syntax highlighting for IPs, emails, and URLs
- OCR Reader β extract text from images and PDF files using optical character recognition with side-by-side preview. Dependencies:
Tesseract.jspdf.js
- Image Glitcher β apply glitch art effects to images including RGB channel shift, pixel sorting, scanline displacement, wave warp, bit crush, color bleed, and block corruption
- Video Glitcher β apply real-time glitch and datamosh effects to video with datamoshing, ghost echo, RGB channel shift, scanline shift, VHS simulation, and more β record output as WebM
- Colour Palette Extractor β extract the dominant colours from any image using k-means clustering; displays swatches with hex, RGB, and HSL values, and exports the palette as CSS variables or JSON
- Image Background Removal β remove image backgrounds using a magic wand flood-fill tool with adjustable tolerance and edge feathering, then download as transparent PNG
- Image Crop Tool β crop images with interactive selection, aspect ratio presets, and precise dimension controls
- Image Diff Tool β compare two images pixel-by-pixel with highlight, heatmap, greyscale, and signed difference modes; shows a stats summary and an interactive before/after slider
- Image Resize Tool β resize images by percentage or pixels with precise scale factor control for copying scale factor to other images
- Image Rotate Tool β rotate images by any angle with fine control, flip horizontally or vertically
- Pixel Coordinates β click on images to capture and record pixel coordinates
- Coordinate / CRS Converter β convert single coordinates or whole CSV files between common geographic and projected coordinate reference systems, with decimal and DMS support, configurable UTM zones, and arbitrary Proj / WKT definitions. Dependencies:
Proj4js - CSV Map Viewer β load a CSV file containing geographic coordinates and display point data on an interactive map; auto-detects common latitude/longitude column names and WKT geometry columns, with a manual column picker fallback and a linked properties table. Dependencies:
Leaflet - Feature Service Viewer β load and visualize ArcGIS Feature Services and MapServer layers on an interactive map. Dependencies:
Leaflet - GeoJSON Editor β draw points, polygons, and lines on an interactive map, add custom properties, and export as GeoJSON. Dependencies:
Leaflet - GeoJSON Viewer β visualize and explore GeoJSON files on an interactive map. Dependencies:
Leaflet
- Audio Editor β edit audio files in the browser with multichannel waveform display, cut/copy/paste, trim, silence, normalize, reverse, fade in/out, amplify, speed/pitch change, loop playback, clip splitting and drag-and-drop reordering with shuffle and assemble clips, and WAV export. Dependencies:
JSZip - Frame Extractor β extract frames from a video at a regular interval with adjustable time range, output format, and quality controls. Dependencies:
JSZip - Multi-Webcam Viewer β view multiple webcam feeds simultaneously with support for YouTube embeds, direct video streams (MP4, M3U8, HLS), and iframe-compatible sources. Dependencies:
hls.js - Scene Detection Tool β automatically detect scene changes in videos using frame analysis with adjustable sensitivity, minimum scene duration, and sample rate controls
- Transcription Tool β transcribe audio and video files with keyboard shortcuts, timestamps, and speed control
- AI Writing Detector β analyze text for patterns commonly associated with LLM-generated content including AI vocabulary, significance claims, promotional language, weasel words, structural patterns, punctuation analysis, and LLM artifacts
- Concept Analysis β extract sentences containing specific concepts or phrases from text and automatically categorize results as definitions, distinctions, or explanations using NLP and RegEx. Dependencies:
Compromise - Named Entity Recognition β extract and identify named entities from text including people, places and organisations using natural language processing. Dependencies:
Compromise - Sentiment Analysis β analyze sentiment in CSV text columns using AFINN lexicon with configurable metrics (score, comparative, classification, word counts, tokens) and summary statistics. Dependencies:
Sentiment - Word Frequency Counter β analyze word frequency, discover common phrases with n-grams (bigrams, trigrams, 4-grams, 5-grams), and get detailed text statistics with customisable stop word filtering
- Network Diagram Builder β create network diagrams interactively by drawing nodes and edges with custom properties, export to Neo4j Cypher, NetworkX Python, GEXF, and GraphML formats
- Article Access Tool β locate accessible versions of news articles via the Internet Archive (Wayback Machine) or optional proxy extraction with Mozilla Readability. Dependencies:
Mozilla Readability - EXIF Data Viewer β extract and view EXIF metadata from photos including camera settings, GPS location, and timestamps. Dependencies:
Leafletexif-js - Identifier Extractor β extract and analyse URLs, email addresses, IPv4/IPv6 addresses, phone numbers, and MAC addresses from text with filtering, sorting, and export options
- Images to PDF β combine a sequence of images into a single downloadable PDF, with options to select which images to include and how pages are sized. Dependencies:
pdf-lib - PDF Cropper β remove headers, footers, page numbers, and margins from PDF documents by dragging bars to frame the content area you want to keep. Dependencies:
pdf-libpdf.js - PDF Editor β remove pages from PDF documents by selecting page ranges or clicking page previews with visual page thumbnails. Dependencies:
pdf-libpdf.js - PDF Indexer β upload a PDF and a wordlist to generate a keyword index showing each term's occurrence count and the page numbers it appears on, with CSV export. Dependencies:
pdf.js - PDF Metadata Viewer β extract and view PDF metadata including title, author, dates, permissions, and security settings. Dependencies:
pdf.js - PDF to Images β extract high-quality images of pages from PDF documents with adjustable DPI and format options (PNG, JPEG, WebP). Dependencies:
pdf.jsJSZip
- Presentation Annotator β add alt text and markdown annotations to presentation slide images with template-based export and live preview. Dependencies:
Marked
- Claude Code Response Cleanup β fix wrapped-line whitespace, and join lines from Claude Code terminal output into clean readable text
- Claude Code Timeline Viewer β explore a Claude Code session
.jsonltranscript as an interactive timeline with search, filtering by type/content/role, formatted markdown rendering of messages and tool calls, and an extractable list of user prompts. Dependencies:DOMPurifymarkdown-it - GitHub Commits Viewer β view and export commit history from GitHub repositories with support for CSV, JSON, and Markdown exports
- Localhost Port Scanner β scan ports on your local machine to detect running services, Docker containers, and development servers with preset scans for common ports and custom range options
- Text Chunking β split text documents into manageable chunks using multiple strategies (character count, word count, sentence-based, paragraph-based, recursive split, sliding window) with configurable overlap and export to CSV
- Text Diff β compare two text blocks and highlight added and removed content
- Text Tools β text manipulation toolkit with case transformation, sorting, whitespace cleaning, encoding/decoding (Base64, URL), find & replace, and text tokenization
- Timestamp Converter β convert Unix timestamps (seconds or milliseconds) to human-readable dates and vice versa; shows UTC, local time, ISO 8601, RFC 2822, and relative time formats
- Unit Converter β convert between units of length (mm to light-years), weight/mass (Β΅g to long tons), and temperature (Β°C, Β°F, K, Β°R) with a full reference table of all conversions
- Favicon Generator β generate favicons in multiple sizes and formats including SVG, ICO, Apple Touch Icons, and Android icons. Dependencies:
JSZip - Robots.txt Checker β fetch and parse robots.txt files from websites and check whether specific URLs or paths are allowed or disallowed for different web crawlers
- Browser Fingerprint Viewer β view browser fingerprint data that websites can collect including canvas fingerprinting, WebGL info, audio context, detected fonts, and device characteristics
- Cookie & Storage Analysis β examine all data websites can store on your device including cookies, localStorage, sessionStorage, IndexedDB, cache storage, and service workers with detailed analysis
- Packet Analyzer β analyse pcap and pcapng network capture files with protocol breakdown charts, packet timeline, top talkers, and conversation tracking. Dependencies:
Chart.js
Development of this collection was inspired by Simon Willison's experiments in prompt-driven development. Simon's collection can be found at https://tools.simonwillison.net/, and his code can be found on GitHub in simonw/tools. Simon also generously discusses both the Claude custom instructions and general patterns he uses for developing these tools on his blog.
The majority of tools in my collection virtualarchitectures/Browser-Tools have been developed using Anthropic's Claude Code. In each case I've worked with the LLM to tailor the tool to meet my own practical needs. This practice is broadly aligned with concepts of malleable software and resonant computing.
My own personal preference for the further development of LLMs is oriented toward the implementation of capable, task specific, open weight models which can be run privately and locally using frameworks like Ollama.