itty.bitty takes html (or other data), compresses it into a URL fragment, and provides a link that can be shared. When it is opened, it inflates that data on the receiver’s side.
Learn more at about.bitty.site
Detailed workings how.bitty.site
Handcrafted HTML files
Drag one into the editor to convert it.
Using Codepen.io (Pro Accounts)
Paste a codepen URL into the editor. Get started with a template or look at some samples. This must be a Pro account to work.
Hosting
One simple way to host is to forward a domain. Just paste the itty.bitty url in the redirect.
Encoding (Mac)
echo -n 'hello world' | lzma -9 | base64 | xargs -0 printf "https://itty.bitty.site/#/%s\n"
Encoding (Linux)
echo -n 'hello world' | lzma -9 | base64 -w0 | xargs -0 printf "https://itty.bitty.site/#/%s\n"
Encoding (Win Git/WSL)
echo -n 'hello world' | xz --format=lzma -9 | base64 -w0 | printf "https://itty.bitty.site/#/%s\n" "$(cat -)"
Encoding (Python)
'https://itty.bitty.site/#/'+base64.b64encode(lzma.compress(bytes("hello world",encoding="utf-8"), format=lzma.FORMAT_ALONE, preset=9)).decode("utf-8")
Encoding (Node.js)
'https://itty.bitty.site/#/'+Buffer.from(lzma.compress("Hello World", 9)).toString('base64')
Decoding (Mac)
echo -n "[URL]" | sed -E 's/^.*#[^\/]*\/\??//g' | base64 -D | lzma -d
Decoding (Linux)
echo -n "[URL]" | sed -E 's/^.*#[^\/]*\/\??//g' | base64 -d | lzma -d
Decoding (Win Git/WSL)
echo -n "[URL]" | sed 's/^.*#[^\/]*\///g' | base64 -d | xz --format=lzma -d
Size Limits
While most sites support 2000 bytes, some can handle more. Maximum sizes for links in various apps & Browsers (approximate, size in bytes)
App | Max bytes | Notes |
---|---|---|
4,088 | ||
Slack | 4,000 | |
Discord | 4,000 | |
iMessage | 4,000 | URLs with more than 300 nonbreaking characters in a row will be split. LZMA compression usually fixes this, but raw data urls may fail. |
QR Code | 2,953 | |
Bitly | 2,048 | |
Browser | ||
Google Chrome (win) | 32,779 | |
(mac) | Lots | Only shows 10,000 |
Firefox | >64,000 | |
Microsoft IE 11 | 4,043 | Only shows 2,083 |
Microsoft Edge | 2,083 | Anything over 2083 will fail |
Android | 8,192 | |
Safari | Lots | Only shows 5211 |