Command line
mob3 [flags] [url|file]
With no URL, MOB³ opens the -home target (about:home by default). Input that
looks like a search query instead of a URL uses the -search fallback. A local
path becomes a file: URL.
Interactive mode starts only when stdin and stdout are TTYs. Otherwise MOB³ falls back to dump mode and prints the rendered page.
Flags
| Flag | Default | Meaning |
|---|---|---|
-dump |
off | Render the page to stdout and exit |
-png |
off | Write a PNG screenshot of the dump to stdout; implies -dump |
-width int |
terminal width or 100 | Layout width in columns |
-height int |
0 | Layout viewport height and output limit; 0 uses the full page (dump/PNG/MCP) |
-graphics string |
none |
Image mode: none, auto, kitty, iterm, blocks |
-g string |
none |
Alias for -graphics |
-no-js |
off | Disable page script fetching and execution |
-reader |
off | Start in reader mode |
-dark |
off | Start in dark mode |
-ignore-blocks |
off | Load anti-bot/CAPTCHA pages instead of the blocked page |
-bookmarks string |
none | Import a Netscape bookmark HTML file |
-home string |
about:home |
Startup and Home-button target |
-js-memory int |
256 | JavaScript heap limit in MB; 0 disables the watchdog |
-cache int |
32 | In-memory resource cache limit in MB; 0 disables it |
-layout-budget string |
standard |
Layout limits: low, standard, high, none |
-text-scale string |
auto |
Kitty scaled text: auto or off |
-color |
off | Force ANSI colors when dumping |
-no-color |
off | Disable ANSI colors in dump mode |
-ua string |
MOB3/1.0 (+terminal; +https://mob3.net) |
Custom User-Agent |
-search string |
DuckDuckGo HTML endpoint | Search URL template with %s; empty disables the fallback |
-mcp |
off | Run the MCP automation server on stdin/stdout |
-version |
Print the version and exit | |
-h, -help |
Print flags and exit |
Run mob3 -h for the exact defaults in your build.
Images and graphics
-graphics=none is the default: no external image downloads and no inline SVG
rasterization. When enabled, native terminal graphics are preferred:
- kitty graphics protocol
- iTerm2 inline images
- colored half-block art (
▀/▄)
Auto-detection uses environment variables. Under tmux, screen or zellij it
falls back to half-block art because the multiplexer usually consumes graphics
escapes unless passthrough is configured. -g is an alias for -graphics.
Dump mode always uses half-block art for images that were loaded.
Color and dump mode
-dump prints the whole document height (capped at 20,000 rows) without browser
chrome. Color is automatic on a TTY, forced by -color, and disabled by
-no-color.
mob3 -dump -width 120 page.html
mob3 -dump -width 120 -no-color https://go.dev
mob3 -dump -color https://example.com
Page height
-height N sets the layout viewport to N rows and limits dump/PNG output to
N document rows. This affects position:fixed boxes and other
height-dependent layout. -height 0 keeps the full document height. The
interactive UI always uses the real terminal height.
mob3 -dump -height 40 -width 120 page.html
mob3 -png -height 40 -width 120 page.html > page.png
mob3 -mcp -width 100 -height 60
PNG screenshots
-png renders the dump as a PNG stream on stdout. It implies -dump, is
capped at 2,000 rows, and uses an 8×16 pixel cell with Go Mono glyphs:
mob3 -png -width 120 bbc.com/news > bbc.png
mob3 -png -g blocks -width 120 bbc.com/news > bbc-images.png
Image cells render as colored half-block art. The renderer is text-oriented: CJK and emoji glyphs are missing from the bundled Go Mono font, and there is no browser chrome or true pixel screenshot.
Layout budget
-layout-budget bundles the style/layout deadline and fragment/document-row
caps:
| Preset | Deadline | Fragments | Rows |
|---|---|---|---|
low |
1 s | 100,000 | 80,000 |
standard |
2 s | 250,000 | 200,000 |
high |
5 s | 1,000,000 | 1,000,000 |
none |
disabled | disabled | disabled |
none can freeze the UI on hostile or generated pages. The preset is editable
in about:config; a zero individual limit disables that check. When a limit is
hit, the page renders partially and the status says
Page truncated (layout limit).
JavaScript and cache limits
-js-memory sets the per-script/callback heap budget. Every script also runs
under a 2-second CPU watchdog. 0 disables the heap watchdog but not the CPU
timeout. -no-js disables both script fetching and execution; <noscript>
content is then shown.
-cache is a session-only LRU budget for CSS/JS response bodies and decoded
images. Nothing is written to disk, and cache hits appear in the ! console.
Home, search and bookmarks
-home sets the page opened at startup and by the ⌂ toolbar button. The
-search template receives the URL-escaped query in %s; the default uses the
server-rendered DuckDuckGo HTML endpoint. An empty value disables search
fallback, so only URL-like input navigates.
-bookmarks FILE imports a Netscape bookmark export (Chrome, Firefox, Safari,
Edge). The ★ Bookmarks toolbar button appears only when a bookmark file was
loaded. Bookmarks live in memory for the session.
Automation
-mcp starts the headless MCP server instead of the terminal UI:
mob3 -mcp -width 100 about:home
See Automation with MCP for the client configuration, protocol and tools.
about:config
The ⚙ toolbar icon opens about:config, a form listing every CLI option and
its current value. Editable options change for the session only; startup
options are read-only; dump-only colour options do not affect the interactive
UI. The top shows the current viewport in characters and pixels (using the
terminal's reported cell size, or 8×16 by default). Nothing is persisted.