mon[tab] Help

Dev tools in your address bar & terminal. Type mon — get results.

Current version: 1.1.1 — Some commands listed below may not yet be available in the Chrome Web Store version. They will be added in upcoming releases.

Getting Started

Chrome Extension

  1. Type mon in the address bar
  2. Press Tab (the bar changes to “mon[tab]”)
  3. Type a command (e.g. uuid)
  4. Press Enter — the result is copied to your clipboard

CLI

npm install -g mon-tab
mon uuid

You can also pipe input:

echo "b64 hello" | mon

Commands

Generators

uuid — Generate UUID v4

mon uuid
→ 550e8400-e29b-41d4-a716-446655440000

pw — Generate secure password

mon pw              → Xk#9mP2@vL5q!7Hn (16 chars, all character types)
mon pw 32           → 32-character password
mon pw 32 an        → 32-character, alphanumeric only
mon pw 12 n         → 12-character, numbers only
mon pw 20 a         → 20-character, letters only
ArgDescriptionDefault
lengthPassword length (1–128)16
charsetn = numbers, a = letters, an = alphanumericall (upper, lower, numbers, symbols)

Chrome extension: pw set opens the password configuration dialog.

lorem — Lorem ipsum text

mon lorem           → One sentence of lorem ipsum
mon lorem 3         → Three sentences
ArgDescriptionDefault
nNumber of sentences (1–5)1

rand — Generate random number

mon rand            → 0.738219... (float between 0 and 1)
mon rand 100        → 42 (integer between 0 and 100)
mon rand 10 20      → 15 (integer between 10 and 20)

sha — SHA-256 hash

mon sha hello       → 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

Uses WebCrypto for native performance.


Encoding

b64 — Base64 encode

mon b64 hello       → aGVsbG8=

b64d — Base64 decode

mon b64d aGVsbG8=   → hello

jwt — Decode JWT token

mon jwt eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoiYWxpY2UifQ.xxx
→ {"user":"alice"} (signature not verified)

Decodes the payload section only. Does not verify the signature.


Time

ts — Unix timestamp

mon ts              → 1741000000

Returns the current time as a Unix timestamp (seconds).

now — ISO 8601 timestamp

mon now             → 2026-03-12T14:30:45.123Z

cal — Day of the week

mon cal             → Wednesday, March 12, 2026 (today)
mon cal 2026-03-15  → Sunday, March 15, 2026
ArgDescriptionDefault
dateDate in YYYY-MM-DD formattoday

age — Age calculator

mon age 1990-05-01  → 35 years old
ArgDescription
dateBirthdate in YYYY-MM-DD format (required)

String

upper — Uppercase

mon upper hello world   → HELLO WORLD

lower — Lowercase

mon lower HELLO WORLD   → hello world

camel — camelCase

mon camel hello world   → helloWorld
mon camel hello-world   → helloWorld
mon camel hello_world   → helloWorld

snake — snake_case

mon snake helloWorld    → hello_world
mon snake hello world   → hello_world
mon snake hello-world   → hello_world

slug — URL slug

mon slug Hello World!   → hello-world

Removes non-alphanumeric characters and replaces spaces with hyphens.

wc — Word & character count

mon wc hello world      → 2 words, 11 chars

Math

calc — Calculator

mon calc 1920/1080      → 1920/1080 = 1.7777777778
mon calc sqrt(144)      → sqrt(144) = 12
mon calc 2^10           → 2^10 = 1024
mon calc 5!             → 5! = 120
mon calc 15% of 200     → 30
mon calc 100 + 20%      → 120

Operators: + - * / ^ (power) % (modulo) ! (factorial)

Constants: pi e

Functions: sin() cos() tan() sqrt() abs() floor() ceil() round()

Percentage syntax: 15% of 100, 100 + 20%, 100 - 20%

CLI: Supports unit conversion via math.js (e.g. calc 2 inch to cm).

ratio — Aspect ratio calculator

mon ratio 16 9 1920     → 1080 (height for 1920px wide at 16:9)
mon ratio 16 9 ? 1080   → 1920 (width for 1080px tall at 16:9)
ArgDescription
wAspect ratio width (required)
hAspect ratio height (required)
sizeKnown dimension value (required)
?Place before the size to solve for width instead of height

CSS

px — px ↔ rem converter

mon px 24               → 1.5rem
mon px 1.5rem           → 24px

Base: 16px = 1rem.


Dictionary

ascii — ASCII code lookup

mon ascii A             → "A" → 65
mon ascii 65            → 65 → 'A'

Works both ways — character to code, or code to character. Range: 0–127.

http — HTTP status code

mon http 404            → 404 Not Found
mon http 201            → 201 Created

Covers status codes 100–599.

port — Well-known port lookup

mon port 443            → 443 — HTTPS
mon port 3306           → 3306 — MySQL

Includes SSH, FTP, SMTP, DNS, HTTP, HTTPS, MySQL, PostgreSQL, Redis, MongoDB, and more.

mime — MIME type lookup

mon mime png            → png → image/png
mon mime json           → json → application/json

Covers common file types: html, css, js, json, xml, pdf, images, audio, video, fonts, archives.

chmod — File permission decoder

mon chmod 755           → rwxr-xr-x (owner:rwx group:r-x other:r-x)
mon chmod 644           → rw-r--r-- (owner:rw- group:r-- other:r--)

Takes a 3–4 digit octal number.

cc — Country code lookup

mon cc JP               → [JP] Japan / JPY ¥ / +81
mon cc US               → [US] United States / USD $ / +1

Returns country name, currency, and dial code. Covers 50+ countries.


Geo

tel — Dial code lookup

mon tel +81             → +81 — Japan
mon tel 1               → +1 — United States

Covers 60+ countries.


Lookup

zip — Japanese postal code → address Chrome only

mon zip 150-0001        → 東京都渋谷区神宮前
mon zip 1000001         → 東京都千代田区千代田

Accepts 7 digits or XXX-XXXX format. Queries the zipcloud API.

Note: This is the only command that makes a network request. Chrome extension only.

Validation

email — Email address validator

mon email user@example.com      → Valid
mon email bad@@example          → Invalid: ...

Validates against RFC 5322 (simplified). Checks format, TLD, domain structure, length limits.

ip — IP address info

mon ip 192.168.1.1      → IPv4 | Class C | Private
mon ip 8.8.8.8          → IPv4 | Class A | Public
mon ip ::1              → IPv6 | Loopback

IPv4: Returns class (A–E), binary representation, scope (private, public, loopback, link-local, multicast).

IPv6: Returns type and scope.

url — URL parser

mon url https://example.com/path?q=1&lang=en#top
→ protocol: https
  host: example.com
  path: /path
  query: q=1, lang=en
  hash: top

Parses and displays all URL components.

rx — Regex tester

mon rx /\d+/g abc123def456      → 2 matches: [0] "123" @3, [1] "456" @9
mon rx /(\w+)@(\w+)/ user@host  → match: "user@host", groups: "user", "host"
ArgDescription
patternRegex in /pattern/flags format (required)
stringTest string (required)

Flags: g (global) i (case-insensitive) m (multiline) s (dotall) u (unicode) y (sticky)

json — JSON validator & formatter

mon json {"a":1,"b":[2,3]}
→ Valid JSON — object (2 keys)
  {
    "a": 1,
    "b": [2, 3]
  }

Validates, identifies the type, and pretty-prints. Shows error position on invalid input.

sv — Semver parse & compare

mon sv 1.2.3            → major:1 minor:2 patch:3
mon sv 1.2.3 2.0.0      → 1.2.3 < 2.0.0

Alias: semver


Emoji

em — Emoji & Gitmoji lookup

mon em fire             → 🔥
mon em rocket           → 🚀
mon em feat             → ✨ (Gitmoji: new feature)
mon em fix              → 🐛 (Gitmoji: bug fix)
mon em docs             → 📝 (Gitmoji: documentation)

Supports partial matching. Includes both standard emoji names and Gitmoji shortcuts.


Reminder

rem — Set a reminder Chrome only

mon rem 30m review PR   → Reminder set: 30 min — review PR
mon rem 1h30m meeting   → Reminder set: 90 min — meeting
mon rem 30s test        → Reminder set: 30 sec — test
mon rem ls              → List active reminders
mon rem clear           → Clear all reminders
Time formatExample
Seconds30s
Minutes5m or 5
Hours1h
Combined1h30m

Sends a Chrome notification when the time is up.


Variables

Variables let you store values and reuse them in other commands.

m — Set/get session variable

mon m w 1920            → w = 1920 (session)
mon m w                 → w = 1920
mon calc mw * 2         → 1920 * 2 = 3840

Session variables are cleared when the browser closes.

mp — Set persistent variable

mon mp base 16          → base = 16 (persistent)

Persistent variables survive browser restarts. Stored in chrome.storage.local (Chrome) or ~/.mon/vars.json (CLI).

ml — List all variables

mon ml                  → w=1920, base=16 (p)

Persistent variables are marked with (p).

mc — Clear variables

mon mc                  → Clear all session variables
mon mc w                → Clear specific variable
mon mc p                → Clear all persistent variables

Using variables in commands

Prefix m + variable name in any command argument:

mon m w 1920
mon calc mw / 2         → 1920 / 2 = 960

LNDF CLI only

Project snapshot commands for AI context. Requires the CLI (npm install -g mon-tab).

ld — Generate .lndf distillation

mon ld                  → Generates project snapshot

lv — Show .lndf state / query hako index

mon lv                  → Displays .lndf/current.lndf
mon lv --reindex        → Build SQLite index from hako/ frontmatter
mon lv --tag sql        → Search hako by tag
mon lv --after 2026-03  → Search hako by date
mon lv --stats          → Show index statistics

lc — Generate .lndf + copy to clipboard

mon lc                  → Generates snapshot and copies to clipboard

lt — LNDF token comparison

mon lt                  → Compare .lndf tokens vs JSON equivalent

Shows how many tokens .lndf saves compared to a full JSON representation.

clip — Read clipboard content

mon clip                → Display current clipboard content

Cross-platform clipboard reader. Works with mon lc for verify-after-copy workflow.

lp — Cross-project source collection

mon lp create myproj       → Create project in ~/.mon/projects/
mon lp add myproj file.js  → Add source to project
mon lp view myproj         → List sources with preview
mon lp dump myproj         → Concatenate all sources for LLM context
mon lp list                → List all projects

Aggregate source files across projects for LLM context injection.


System

? — List all commands

mon ?                   → List all commands grouped by category
mon ? string            → List commands in the "string" category

Categories: generators, encoding, time, string, math, css, dict, geo, lookup, validation, variable, lndf, system

opt — Open settings Chrome only

mon opt                 → Opens the extension options page

Privacy

All commands run locally in your browser. No data is collected or sent to external servers — except zip, which queries a postal code API (zipcloud.ibsnet.co.jp) with the code you enter.

No analytics, no tracking, no accounts.

Support