Text & documents
Encoder/DecoderURL, Base64, HTML
Text convertercamelCase, snake_case...
Text DiffCompare two texts
LaTeXPreview mathematical formulas
MarkdownReal-time preview
MermaidDiagrams as code
DiagramsVisio-style visual editor, Mermaid import
String escaperJS, JSON, SQL, Regex, HTML, URL
Unicode / ASCIICharacter information
Numbers & maths
CalculatorMath expressions + LaTeX
Base converterBase 2 to 64
Unit systembits, bytes, SI, IEC
Subnet / CIDRNetwork calculator
Timestamp and datesUnix, time zones, formats
Date calculatorDays between dates, exact age, day of the week
Data & formats
Format converterJSON, YAML, Properties, ENV, CSV
JSON FormatterFormat and validate JSON
Regex TesterRegular expressions
JSON DiffStructurally compare two JSONs
Code formatterSQL, CSS, HTML, JavaScript
DB StudioVisual Postgres database in the browser
SQL LabValidate, run and optimize SQL with real Postgres
Giant file viewerOpen huge CSV/logs without loading them
Visual ETL flowTransform data by chaining nodes
Security
Text anonymizerRedact PII and secrets (reversible)
JWT InspectorDecode JWT tokens
Auth flowsBasic, JWT and OAuth2 step by step
Hash generatorSHA-256, SHA-384, SHA-512
Password & UUID generatorPasswords and UUIDs
Development & DevOps
CronGenerator and validator
Docker → ComposeConvert docker run to Compose
Skaffold multi-configDependency graph and requires validation
Linux: permissions and userschmod, chown, useradd and groups
URLParse and build URLs
Random dataNames, emails, IPs, UUIDs...
ElectronicsOhm's law, series/parallel resistors
Logic GatesAND, OR, NOT and more gate simulator
Quantum simulatorQubits, gates, superposition and entanglement
HammingError detection
Nginx/Apache SPA configGenerate config to serve a SPA
SemverSemantic version ranges
CORS ExplainerAnalyse your server's CORS headers
Cert inspectorAnalyse X.509 certificates in PEM format
Rate LimiterSimulate Token Bucket and Fixed Window
Assembly simulatorSimplified MIPS ISA · step-by-step · registers & memory
Context ForgePack and shield your project for AI
Artificial Intelligence
LLM costsSimulate monthly spend
Prompt builderSystem prompt for AI agents
EmbeddingsSimilarity, 2D map and RAG
Local AIChat, summarization, translation & sentiment in-browser
TokenizerVisualize tokens, compare models, estimate costs
Probability for AIDistributions, softmax, Bayes and entropy
Gradient descentSGD, Momentum, RMSProp, Adam
Neural networkTrain an MLP and watch the boundary form
Mini-LLMTrain a language model with your text
Dimensionality reducerPCA, t-SNE and UMAP, live
Confusion matrix & ROCThreshold, precision/recall, ROC/AUC, PR
Clustering (k-means, DBSCAN)Discover groups without labels
Attention visualizerWhat each word looks at in a transformer
Convolution & CNN filtersImage filters and feature maps
Decision treeDecision regions + the tree
Fourier & convolutionFFT spectrum and signal filters
DiffusionThe noise behind Stable Diffusion
Regression & MLELeast squares, overfitting, ridge
Markov chainsStates, stationary distribution and text
Hypothesis testingp-values, t-test, χ², ANOVA and power
OCR — Image to textExtract text from images, 100% local
Finance
InflationYear-by-year purchasing power erosion
Compound interestCapital + contributions + compound interest
Mortgage / loanMonthly payment and French amortization schedule
Split expensesWho owes whom and how much
Health & Wellness
BMI & healthBMI, ideal weight, BMR and sleep cycles
Productivity
PomodoroTime-block work technique
StopwatchWith laps, stages and history
Games & Entertainment
DiceTables with numeric and symbolic dice
ScorekeeperPoints per player with game timer
Random pickerPick a random item from a list
Name generatorReal, fantasy, sci-fi, Norse names
Multimedia & design
Color HEX/RGB/HSLColor converter
QR CodeGenerate QR codes
ImagesResize, convert, Base64
PDF ToolsMerge, extract, watermark
ChartsVisualize data with charts
WCAG ContrastWCAG AA/AAA contrast ratio
Business
Meeting costHow much does each meeting really cost?
SLA / UptimeAvailability percentage ↔ downtime
Break-evenCost and revenue break-even point
Burn rate / RunwayHow long does your cash last?
A/B TestStatistical significance of experiments
DORA MetricsClassify your team by DevOps metrics
UTM BuilderBuild and decode URLs with UTM parameters
How to use
What it is and what it's for

Generates the web-server configuration file a SPA (Single Page App) needs to work correctly: any path the server doesn't recognize as a real file is rewritten to the entry file (index.html by default), and from there the client-side router (Angular, React, Vue…) takes over. Pick a server, tweak the options and the output updates live; then copy it and paste it into your server.

Why a SPA needs this rewrite

In a SPA there is only one real HTML file (index.html); paths like /tools/hamming or /profile/42 are made up by the JavaScript router — they are not folders or files on disk.

• If the user navigates inside the app, all is well: the router renders the view without reloading.
• But if they reload the page, arrive via a direct link or share that URL, the browser requests it as-is from the server. The server looks for that file, doesn't find it and responds 404.

The fix is to tell the server: "if the path is not a real file or folder, serve index.html". That way the router boots and resolves the route on the client. That is exactly what this tool generates.

How to use it (step by step)

1. Pick the server you'll deploy on (Nginx or Apache).
2. Enter the Base path where the app lives (leave it as / if it's at the domain root).
3. Adjust the Fallback file if your entry point isn't index.html.
4. Enable the extras you want: HTTPS redirect, compression and cache.
5. The configuration is generated below instantly; press Copy and paste it into the matching file on your server.

Server: Nginx

Generates a server

Server: Apache (.htaccess)

Generates a .htaccess file you drop into the app's root folder (next to index.html). It uses mod_rewrite: RewriteEngine On, a RewriteBase with your base path and two conditions — !-f (not a file) and !-d (not a folder) — that rewrite any other path to the fallback with RewriteRule ^ [L]. It requires Apache to have mod_rewrite enabled and allow AllowOverride All in that directory.

Base path and fallback file

Base path — the path where the app is deployed. It's / if it lives at the domain root, or something like /tools/es/ if it's in a subfolder. It's normalized to end in / and is used in Nginx's location/try_files and in Apache's RewriteBase.
Fallback file — the entry file everything is rewritten to (index.html by default). Change it only if your build produces a different entry point.

HTTPS redirect

Adds the HTTP-to-HTTPS redirect (301 code) so all traffic uses TLS. On Nginx it splits the config into two blocks: one on port 80 that redirects, and another on 443 ssl http2 with ssl_certificate / ssl_certificate_key placeholders you must point at your certificates. On Apache it adds a rule with RewriteCond %

Compression and cache

Two optional performance extras:

gzip/deflate compression — compresses HTML, CSS, JS and JSON before sending them, so they download faster (gzip on on Nginx; mod_deflate on Apache).
Static-asset cache (1 year) — tells the browser to keep images, fonts, CSS and JS for 1 year (expires 1y + Cache-Control public, immutable on Nginx; mod_expires on Apache). Ideal when your files carry a hash in the name; otherwise a new version could take a while to show up.

Copy and deploy

The output header shows the target file name (nginx.conf or .htaccess). Press the copy button to send the whole configuration to the clipboard and paste it into that file on your server. Remember to reload the server after applying the changes for them to take effect.

Nginx/Apache SPA configGenerate config to serve a SPA
Nginx / Apache SPA configGenerate the config to serve a SPA (Single Page App)
Server:
Path where the app is deployed
nginx.conf
server {
    listen 80;
    server_name example.com;
    root /var/www/html;

    # Redirect HTTP to HTTPS
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;
    root /var/www/html;

    ssl_certificate     /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    # Gzip compression
    gzip on;
    gzip_vary on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml;

    # Cache static assets
    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
    }

    location / {
        try_files $uri $uri/ /index.html;
    }
}