
在机场接人、嘈杂的会议或活动现场展示提示,或者把一台闲置平板临时变成桌面告示牌时,我们经常会遇到一个很简单的需求:把手机、平板或电脑屏幕迅速变成一块醒目的大字看板。
这类在线工具其实已经存在很多年,例如 Screenmessage、BigAssMessage,都能让浏览器全屏显示文字。不过这些老牌工具大多功能比较单一,在样式、动画以及参数化定制方面也相对有限。
最近,开发者 SpeakingOfBrad 在 Hacker News 分享了一个新的开源工具 Bigwords.page,很快引起了不少讨论。它的核心思路非常简单:用一个 URL,把手机、平板、笔记本甚至智能电视变成一块全屏电子招牌。 不需要注册账户,也不用安装 App;更特别的是,显示内容可以直接写进 URL Fragment,由浏览器本地解析,而不需要保存到服务器。
以前也介绍过另一个思路相近的开源项目 led.run。不过相比 Big Words 专注于“大字告示牌”,led.run 更像一个浏览器里的“屏幕工具箱”,除了 LED 文字和跑马灯,还可以把屏幕变成时钟、二维码、灯光效果、音频可视化甚至摄像头特效工具。
两个项目的共同点非常鲜明:不用安装 App,只要打开一个 URL,就能重新定义眼前这块屏幕的用途。 而它们背后还有一个很有意思的 Web 设计理念——URL 即配置(URL as State):文字、主题、颜色、模式等状态直接由 URL 承载,一个链接同时承担了配置、保存和分享的作用。
Bigwords.page:URL 即招牌
Bigwords.page:https://bigwords.page/
GitHub:https://github.com/SpeakingOfBrad/BIGWORDS.PAGE
Hacker News讨论:https://news.ycombinator.com/item?id=49994443
Bigwords.page 是一个纯前端的静态页面。打开链接后,文字会自动放大并居中,尽可能填满屏幕。所有内容(文字、颜色、字体、动画、倒计时、幻灯片、二维码等)都编码在 URL 的 # 片段(fragment)里。
浏览器不会把 URL 片段发送给服务器,因此你的消息对服务端完全不可见,实现了真正的无状态、无数据存储。
最简单的用法:
https://bigwords.page/#Hello%20World
加上样式参数:
https://bigwords.page/#ON%20AIR&bg=b00020&fg=ffffff&font=4&anim=pulse
主要能力包括:
- 自动适配任意屏幕尺寸
- 简单 Markdown(粗体、斜体、标题、换行)
- 用 || 分隔多页幻灯片,配合 &interval= 自动轮播
- {countdown} + &until= 或 &timer= 实现倒计时
- 本地生成二维码(Wi-Fi、链接、电话等)
- 多种动画(脉冲、滚动、彩虹等)
- 内置可视化编辑器,改完直接复制链接
典型应用场景:机场接人举牌、会议室门上的状态提示、咖啡馆 Wi-Fi 密码展示、活动倒计时、直播「ON AIR」指示、考试房间计时器等。
led.run:一个 URL 驱动的“屏幕工具箱”
如果说 BIGWORDS.PAGE 是一把螺丝刀,led.run 就是一个工具箱:同样“无 App、无账号、只要 URL”,但覆盖了 6 类产品、80 多种显示模式。

与 BIGWORDS.PAGE 的设计差异
- 视觉优先:大量 Canvas 主题追求拟物质感,例如 Solari 翻牌板、真空荧光管、刺绣、沙滩写字,适合活动氛围而非信息密度
- 可交互:有浮动工具栏,支持键盘切换效果(← →)、调亮度(↑ ↓)、F 全屏、S 设置
- 投屏:通过 W3C Presentation API 投到第二块屏幕,目前限 Chrome 和 Edge
- 文字模式自动切换:10 个字符以内默认静态,更长默认滚动跑马灯
- 多语言:文档与界面提供简体中文等 7 种语言,lang=zh 可强制中文界面
- 本地处理:声音和相机需要浏览器授权,官方文档说明音频只在本地处理、不录制不上传
类似「把屏幕当招牌用」的工具还有:
https://github.com/abejfehr/bigtext
URL即配置三种模式

按 HTTP 规范,浏览器发请求时会剥掉 # 之后的 fragment,只把路径和查询串发给服务器。所以 fragment 方案可以实现“服务器从未见过你的消息”;path / query 方案即使前端纯静态、不做任何处理,消息也会作为请求 URL 的一部分出现在托管方日志里。
led.run 把文字放在 路径 里、配置放在 查询串 里。前端确实不做服务器处理,但这些内容会随请求发送给托管方。
而 Bigwords.page 采用的是 Fragment(# 之后)方案,直接在浏览器里处理,因此展示敏感信息(例如WiFi密码)时应优先考虑 fragment 方案或自托管。