logo.rt.ht and fv.rt.ht

logo.rt.ht serves the official RTCode and RTEdge marks as SVG. fv.rt.ht draws a text or emoji favicon as SVG from a URL. Both answer with an SVG, so you can use them in <img>, in <link rel=icon> and in CSS.

Syntax

plain
https://logo.rt.ht/.svg?tx=CODE
https://logo.rt.ht/.svg?tx=EDGE
https://fv.rt.ht/:<text>?<parameters>

The official marks are //logo.rt.ht/.svg?tx=CODE for RTCode, which //rtcode.io/.svg also serves, and //logo.rt.ht/.svg?tx=EDGE for RTEdge. https://rtedge.net/.svg redirects to the RTEdge mark.

logo.rt.ht answers /.svg, any other root-level file name such as /x.svg, and the /: worker path. / is a small demo page. Deeper paths, such as /x/y.svg or /.svg/, belong to other routes and answer 404, and an extensionless path such as /abc gets the trailing-slash redirect.

For fv.rt.ht, use /:<text>. An extensionless path such as /AB is first redirected to /AB/, which is a different route with no deployment, so fv.rt.ht/:AB and fv.rt.ht/:/AB both draw "AB". A dotted root path draws its whole name: /AB.svg draws "AB.svg". / is a demo page.

Parameters

tx

The word under the bracket-bolt: CODE, the default, EDGE or HTML. Matching is case-sensitive, and any other value shows no word.

f3

The colour of the word. The default is #2c2c2c. In dark mode (prefers-color-scheme: dark) the SVG forces #f5f5f5, so f3 applies only in light mode unless you override it with css.

style

Copied into the root <svg style="…">, for example style=scale:.7.

text Experimental

Replaces the word with your own text. The value is cut to 4 UTF-16 units, and then characters outside printable ASCII are removed. It is drawn in ui-monospace at weight 600, centred under the mark. text overrides tx.

css Experimental

Appends a final <style> block. For example, .cls-1:is(.m,.s){display:none} hides the whole bolt and leaves only the angle brackets, as the editor's tab icon does.

fv.rt.ht

The text is the percent-decoded worker path without its leading slash, escaped for HTML: /:☕ draws ☕ and /:/💖 draws 💖. A line breaks at a literal \n, a backslash and an n, or at ⧹ (U+29F9). \\ writes a \, and \⧹ writes a literal ⧹. The parameters have a long and a short name:

ParameterShortDefaultMeaning
sizeX100The default for both width and height.
widthwsizeThe width.
heighthsizeThe height.
line-heightl-h1The line height.
chat-aspectc-a0.5The assumed width of a character divided by its height.
marginm0.1A fraction of the size. ?m with no value means 0.
margin-inlinem-imarginThe inline margin.
margin-blockm-bmarginThe block margin.
rotaterNoneA CSS angle, such as 90deg.
scalesNoneA scale factor.
backgroundbgNoneThe fill colour of a full-size rectangle.
textfgThe current text colourThe fill colour of the text.
system-textstOn0, false, no or off drops the fill, which gives black text.

Note: On fv.rt.ht, text is the fill colour, an alias of fg. On logo.rt.ht, text is the label.

The font size is the smaller of width·(1−margin-inline) ÷ (longest line length · chat-aspect) and height·(1−margin-block) ÷ (lines · line-height). The lines are centred vertically, in font-family="monospace" with text-anchor="middle" and dominant-baseline="central", and a line's length counts UTF-16 units. The root always has style="color-scheme:light dark;color:CanvasText", plus rotate: and scale:. Without fg, the text uses fill="currentColor", so it follows light and dark mode.

Response

HostHeadersBody
logo.rt.htContent-Type: image/svg+xml;charset=utf-8, Access-Control-Allow-Origin: *, no Cache-ControlAn SVG with id="RTCode" and viewBox="0 42 213.51 213.51", red #ff2116 angle brackets, class .cls-1, and an orange bolt, rgb(245 129 31), classes .s and .m.
fv.rt.htThe same headers.An HTML comment banner, then the <svg>.

Examples

The official marks

The third image sets the word colour and scales the mark. f3 colours the word in light mode only, so a light colour such as white would draw an invisible word on a light page. rtedge.net sets f3=white only while dark mode is on.

HTML

html
<header>
  <img alt=RTCode.io src=//logo.rt.ht/.svg?tx=CODE>
  <img alt=RTEdge.net src=//logo.rt.ht/.svg?tx=EDGE>
  <img alt="RTEdge.net, crimson word in light mode" src="//logo.rt.ht/.svg?tx=EDGE&f3=crimson&style=scale:.7">
</header>

CSS

css
header { display: flex; gap: 1rem; color-scheme: light dark;
  img { height: 4rem; }
}

Result

Emoji, text and multi-line favicons

The first line sets the page icon to a coffee cup with no margin. The second image breaks a line with ⧹ and sets the size and the colours. The third turns an emoji by 90 degrees. In the editor, type fv and press Tab to insert the first line.

HTML

html
<link rel=icon href=//fv.rt.ht/:☕?m>
<img alt=badge src="//fv.rt.ht/:Hi⧹there?size=64&bg=oklch(70%25%200.2%2030)&fg=white">
<img alt=sideways src="//fv.rt.ht/:📊?m&r=90deg">

Result

More uses

Elefunc's own pages use fv.rt.ht for favicons such as //fv.rt.ht/:🕒?m, :🦓?m and :qi?m, for a cursor, and for rotated icons:

css
:root { cursor: url("//fv.rt.ht/:↑?size=24&m=.08") 12 3, n-resize; }

CORS and limits

Status

Both hosts are available. The text and css parameters of logo.rt.ht are Experimental and may change. Behavior was checked on 2026-10-04.

See also