If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: docs.joinmastodon.org/dev/frontend/theming - Creating themes - Mastodon doc.

site address: docs.joinmastodon.org/dev/frontend/theming/ redirected to: docs.joinmastodon.org/dev/frontend/theming

site title: Creating themes - Mastodon documentation

Our opinion (on Saturday 11 July 2026 7:21:13 UTC):

GREEN status (no comments) - no comments
After content analysis of this website we propose the following hashtags:



Meta tags:
description=This document is an introduction to theming in Mastodon. It s primarily aimed at theme creators, but also contains useful information for anyone interested in working on Mastodon s styles.;

Headings (most frequently used words):

creating, themes, the, groundwork, custom, styles, respecting, color, scheme, and, contrast, preferences, sponsored, by,

Text of the page (most frequently used words):
the (31), mastodon (19), and (17), theme (16), your (14), admin (13), styles (11), color (11), for (8), my_theme (8), contrast (7), #scheme (7), dark (7), you (7), preferences (7), scss (7), this (6), tokens (6), default (6), light (6), themes (6), new (6), with (6), black (5), server (5), setting (4), that (4), data (4), folder (4), app (4), instance (4), profile (4), account (4), api (4), oauth (4), using (4), design (3), background (3), white (3), can (3), use (3), css (3), auto (3), high (3), are (3), settings (3), once (3), done (3), change (3), create (3), javascript (3), entrypoint (3), file (3), but (3), custom (3), from (3), application (3), creating (3), search (3), apps (3), reports (3), accounts (3), source (2), list (2), available (2), reference (2), component (2), also (2), will (2), reflected (2), mode (2), respecting (2), example (2), copy (2), config (2), yml (2), duplicate (2), assets (2), services (2), own (2), groundwork (2), notificationpolicy (2), filter (2), report (2), quote (2), domainblock (2), notifications (2), trends (2), collections (2), domain_blocks (2), security (2), environment (2), implementing (2), posts (2), machine (2), installing (2), features (2), configuring (2), running (2), imprint, view, blog, join, sponsored, last, updated, may, 2026, improve, page, generally, recommend, handling, dependent, level, see, our, function, achieve, same, result, always, resolved, actually, displayed, option, current, values, html, attributes, they, used, scope, newly, user, options, prior, variations, like, had, implemented, separate, has, changed, where, these, were, made, independent, defined, files, changes, should, _light, _dark, _base, duplicated, open, replace, need, one, referenced, import, instead, original, could, now, entire, start, tweaking, things, only, want, colours, enough, steps, above, completed, created, its, identical, administration, users, appearance, selectable, after, rebuild, restart, docker, container, rails_env, production, bundle, exec, rails, precompile, located, add, entry, document, introduction, theming, primarily, aimed, creators, contains, useful, information, anyone, interested, working, webpushsubscription, translation, token, termsofservice, tag, suggestion, statussource, statusedit, status, shallowtag, shallowquote, scheduledstatus, rule, role, relationshipseveranceevent, relationship, reaction, quoteapproval, privacypolicy, previewcardauthor, previewcard, poll, notificationrequest, notificationfallback, notification, mediaattachment, marker, identityproof, filterstatus, filterresult, filterkeyword, featuredtag, featureapproval, familiarfollowers, extendeddescription, error, customemoji, conversation, context, collectionwithaccounts, collectionitem, collection, asyncrefresh, appeal, annualreport, announcement, measure, ipblock, emaildomainblock, domainallow, dimension, cohort, canonicalemailblock, accountwarning, entities, streaming, markers, lists, conversations, timelines, scheduled_statuses, polls, media, statuses, proofs, oembed, push, directory, custom_emojis, announcements, health, grouped, async_refreshes, emails, annual, retention, measures, ip_blocks, email_domain_blocks, domain_allows, dimensions, canonical_email_blocks, tags, suggestions, mutes, followed_tags, follow_requests, filters, featured_tags, favourites, endorsements, bookmarks, blocks, methods, rate, limits, scopes, guidelines, best, practices, datetime, formats, rest, bearcaps, microformats, webfinger, activitypub, spec, compliance, styling, state, management, components, frontend, guide, issues, responsible, disclosure, routes, code, structure, dev, technical, overview, contributing, libraries, implementations, logging, obtaining, client, access, playing, public, getting, started, developing, roles, webhooks, database, index, corruption, troubleshooting, errors, moderation, actions, scaling, migrating, backing, upgrading, release, cli, single, sign, captcha, onion, object, storage, optional, full, text, preparing, official, ios, android, moving, leaving, externally, more, set, promoting, yourself, others, dealing, unwanted, content, quoting, other, network, posting, signing, what, documentation,


Text of the page (random words):
creating themes mastodon documentation what is mastodon using mastodon signing up for an account setting up your profile posting to your profile using the network features quoting other posts dealing with unwanted content promoting yourself and others set your preferences more settings using mastodon externally moving or leaving accounts official ios and android apps running your own server running mastodon preparing your machine installing from source configuring your environment configuring full text search installing optional features object storage onion services captcha single sign on setting up your new instance using the admin cli upgrading to a new release backing up your server migrating to a new machine scaling up your server moderation actions troubleshooting errors database index corruption webhooks roles developing mastodon apps getting started with the api playing with public data obtaining client app access logging in with an account libraries and implementations implementing quote posts implementing collections contributing to mastodon technical overview setting up a dev environment code structure routes security issues and responsible disclosure frontend guide components state management css and styling creating themes design tokens reference spec compliance activitypub webfinger security microformats oauth bearcaps rest api datetime formats guidelines and best practices oauth tokens oauth scopes rate limits api methods accounts blocks bookmarks domain_blocks endorsements favourites featured_tags filters follow_requests followed_tags mutes preferences reports suggestions tags admin accounts canonical_email_blocks dimensions domain_allows domain_blocks email_domain_blocks ip_blocks measures reports retention trends annual reports apps emails oauth async_refreshes collections grouped notifications health instance announcements custom_emojis directory trends notifications push oembed profile proofs search statuses media polls scheduled_statuses timelines conversations lists markers streaming api entities account accountwarning admin account admin canonicalemailblock admin cohort admin dimension admin domainallow admin domainblock admin emaildomainblock admin ip admin ipblock admin measure admin report announcement annualreport appeal application asyncrefresh collection collectionitem collectionwithaccounts context conversation customemoji domainblock error extendeddescription familiarfollowers featureapproval featuredtag filter filterkeyword filterresult filterstatus identityproof instance list marker mediaattachment notification notificationfallback notificationpolicy notificationrequest poll preferences previewcard previewcardauthor privacypolicy profile quote quoteapproval reaction relationship relationshipseveranceevent report role rule scheduledstatus search shallowquote shallowtag status statusedit statussource suggestion tag termsofservice token translation v1 filter v1 instance v1 notificationpolicy webpushsubscription creating themes this document is an introduction to theming in mastodon it s primarily aimed at theme creators but also contains useful information for anyone interested in working on mastodon s styles the groundwork custom styles respecting color scheme and contrast preferences the groundwork the entrypoint of the default mastodon theme is located at app javascript styles application scss to create your own theme duplicate this file and add a new entry for it to the file config themes yml for example default styles application scss my_theme styles my_theme scss after this rebuild assets rails_env production bundle exec rails assets precompile and restart the mastodon services or docker container once this is done your custom theme will be selectable for users from preferences appearance theme as the server s default theme from administration server settings design custom styles with the steps above completed you ve created a new theme entrypoint but its styles are identical to the default mastodon theme you could now go on to duplicate the entire app javascript styles mastodon css folder and start tweaking things but if you only want to change the colours of the mastodon ui it s enough to create a copy of the mastodon theme folder once that s done you need to change your entrypoint file the one referenced in config themes yml to import your copy of the theme folder instead of the original example if you ve duplicated the mastodon theme folder to app javascript styles my_theme open my_theme scss and replace use mastodon theme with use my_theme once that s done you can change the theme tokens defined in the files my_theme _base scss my_theme _dark scss and my_theme _light scss to create a new color theme and the changes should be reflected in the ui respecting color scheme and contrast preferences prior to mastodon 4 6 theme variations like light mode dark mode and high contrast had to be implemented as separate themes this has changed in 4 6 where these preferences were made independent settings the newly available user options are color scheme auto light or dark contrast auto or high current values are reflected in the html attributes data color scheme and data contrast so that they can be used to scope your styles component color black background black data color scheme dark color white background black the auto setting will always be resolved to the actually displayed option for color scheme that s light or dark for contrast it s default or high you can also use the light dark css function to achieve the same result component color light dark black white background light dark white black generally we recommend handling color scheme and contrast dependent styles at the level of theme tokens see our design tokens reference for a list of tokens available by default last updated may 29 2026 improve this page sponsored by join mastodon blog view source cc by sa 4 0 imprint
Thumbnail images (randomly selected): * Images may be subject to copyright.GREEN status (no comments)
  • Mastodon
  • Stephen Tures
  • Swayable

Verified site has: 190 subpage(s). Do you want to verify them? Verify pages:

1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-40 41-45 46-50
51-55 56-60 61-65 66-70 71-75 76-80 81-85 86-90 91-95 96-100
101-105 106-110 111-115 116-120 121-125 126-130 131-135 136-140 141-145 146-150
151-155 156-160 161-165 166-170 171-175 176-180 181-185 186-190


The site also has references to the 2 subdomain(s)

  joinmastodon.org  Verify   blog.joinmastodon.org  Verify


Top 50 hastags from of all verified websites.

Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

Header

HTTP/1.1 301 Moved Permanently
Connection close
Content-Length 162
Server GitHub.com
Content-Type text/html
Location htt????/docs.joinmastodon.org/dev/frontend/theming/
X-GitHub-Request-Id C4E8:282AB7:CE6761:D11963:6A51EEE9
Accept-Ranges bytes
Age 0
Date Sat, 11 Jul 2026 07:21:13 GMT
Via 1.1 varnish
X-Served-By cache-rtm-ehrd2290057-RTM
X-Cache MISS
X-Cache-Hits 0
X-Timer S1783754473.453491,VS0,VE111
Vary Accept-Encoding
X-Fastly-Request-ID 32ed217c8bdb624270ec730d4faaf4b782032c54
HTTP/2 200
server GitHub.com
content-type text/html; charset=utf-8
last-modified Thu, 09 Jul 2026 12:01:41 GMT
access-control-allow-origin *
strict-transport-security max-age=31556952
etag W/ 6a4f8da5-61a8
expires Sat, 11 Jul 2026 07:31:13 GMT
cache-control max-age=600
content-encoding gzip
x-proxy-cache MISS
x-github-request-id 08E2:2FC1D0:172570:18BC56:6A51EEE9
accept-ranges bytes
age 0
date Sat, 11 Jul 2026 07:21:13 GMT
via 1.1 varnish
x-served-by cache-lcy-egml8630034-LCY
x-cache MISS
x-cache-hits 0
x-timer S1783754474.593952,VS0,VE102
vary Accept-Encoding
x-fastly-request-id 6555d20d7849f5424ce65250dc52cd3799ad789d
content-length 6432

Meta Tags

title="Creating themes - Mastodon documentation"
charset="utf-8"
name="viewport" content="width=device-width,initial-scale=1"
property="og:type" content="article"
property="og:url" content="htt????/docs.joinmastodon.org/dev/frontend/theming/"
name="description" content="This document is an introduction to theming in Mastodon. It's primarily aimed at theme creators, but also contains useful information for anyone interested in working on Mastodon's styles."
property="og:description" content="This document is an introduction to theming in Mastodon. It's primarily aimed at theme creators, but also contains useful information for anyone interested in working on Mastodon's styles."
name="twitter:site" content="@joinmastodon"

Load Info

page size6432
load time (s)0.381793
redirect count1
speed download16881
server IP 185.199.108.153
* all occurrences of the string "http://" have been changed to "htt???/"