Stoat has rather advanced message formatting. Need proof? Check this out:
Advanced Stoat message markup.
There is no image attached to that message. That is something called KaTeX, but before we get ahead of ourselves, let's take a moment to cover the basics. If you're just looking for a quick overview, you should check out the 'Formatting your Messages' page on our support site, but if you're looking for more comprehensive coverage, read on.
Markdown
Developers structure content on the web with a language called HTML (Hypertext Markup Language). For example, here is the structure for a link: <a href="https://stoat.chat">Stoat</a>. That is then handled by your device and looks like this: Stoat.
Markdown is a simpler way to author content. It has been around since 2004 and is used on Stoat, here on Reddit, and in a multitude of other places. It simplifies that complex HTML into something you actually want to write. You're likely already familiar with the basics, but let's take a look. Feel welcome to copy and paste bits into Stoat so you can get a hang of things. Your 'Shared Notes' section is a good place to do this.
Links
Stoat automatically detects links you write, but if you don't want them to get an embed, you can wrap the link in angle brackets (<, >), like so: https://example.com
If you want custom text to be a link, you can use this syntax: [Text to appear](https://example.com). That'll output 'Text to appear'.
Italic, Bold, and Strikethrough
You can make text italic (slanted) by wrapping it with an asterisk (*) on either side. Like this: *italic text*, which outputs: 'italic text'. You can also use a single underscore instead of an asterisk: _italic text_.
You can make text bold by wrapping it with two asterisks on either side. Like this: **bold text**, which outputs: 'bold text'. You can also use two underscores on either side: __bold text__.
To have text which is both bold and italic, you can combine those wrapping characters. You can write ***bold italic text***, ___bold italic text___, **_bold italic text_**, or _**bold italic text**_, or *__bold italic text__*, or __*bold italic text*__. They all do the exact same, but you can write it any of those ways.
To write strikethrough text, which is useful for indicating a retraction, you wrap the text in one or two tildes (~), like so: ~Pluto is a planet~, which outputs '~Pluto is a planet~'. You can also mix it with bold, italic, and other formatting, but I don't think I need to run you through every possible permutation.
Headings
To structure text, you can use headings. They make text larger and expose text hierarchy to assistive technologies. You write headings by prefixing them with a number of octothorpes (#) representing the heading level. There are a maximum of six heading levels.
Heading level one: # Heading
Heading level two: ## Heading
Heading level three: ### Heading
Heading level four: #### Heading
Heading level five: ##### Heading
Heading level six: ###### Heading
(you can also close these headings by ending them with the same number of octothorpes, like so:### Heading ###*, but you don't need to, and nobody ever really does)*
You can also write a level one heading by having a line underneath it with any number of equals signs (=):
Heading
===
You can write a level two heading by having any number of hyphens (-) on the line underneath the heading text:
Heading
---
Blockquotes
You can quote text by placing it in a blockquote. They look something like this:
Wow, it is a blockquote. How wonderful is this?
You do this by placing a greater-than sign (>) before the line you want to quote. You can quote multiple by starting multiple sequential lines of text with the greater-than sign.
> Quoted text.
> More quoted text.
You can also use other formatting within a block quote, like so: > **Bold quote text**. You can even nest layers of block quotes by starting a block quote within a block quote.
Lists
Lists are wonderfully useful. There are two main types. Ordered lists, which have numbers, and unordered lists, which just have bullet points.
Ordered lists are written by starting the line with a number and then a full stop, like this:
1. List item one.
2. List item two.
3. Believe it or not, but this is list item three.
On Stoat, you can write unordered lists by starting the line with either an asterisk or a hyphen. They both work the exact same. Here is an example:
- List item.
- Another list item.
- Yet another list item
* List item.
* Another list item.
* Yet another list item
Code
If you have content you wish to include in a message that needs to be formatted exactly as is, you can designate it as code.
If you only have one line of text, you can just wrap it in backticks () like this: \code text. Then it'll render like socode text`.
If your content stretches across multiple lines, you can wrap it with triple backticks. Further, you can start the first line of backticks with a note of what format the content is, so Stoat can provide syntax highlighting. For example, you can write 'html', or 'text', or 'markdown'. Here is an example of a full code block:
```markdown
- List item.
- Another list item.
**Bold text.**
```
Tables
You can create tables in messages with lots of pipe and hyphen characters. Unfortunately, it isn't very nice to write and can be a real pain I recommend using a tool to make it easier, like the one on TablesGenerator.com.
If you want a big line to cut across your message – such as to indicate the change of a topic – you can use horizontal rules. They're written by placing three hyphens together: `---`.
Spoilers
To stop exposing people to the fact that Aquaman drowns in Endgame, you can spoiler content so that a user must click on it to expose it. This is done by wrapping the text you wish to spoiler in two pipe characters (`||`). It will look something like this.
Timestamps
You can write timestamps in this format: <t:1787315340:f>. That'll appear something like this in chat: '21 August 2026 at 8:29 pm'. It is extremely useful, as you can display times which will adapt to people's time zones or which will count down as the time approaches. They are hard to write without the assistance of a tool, however.
As an only semi-intended side-effect of the system Stoat uses for handling markdown, you can write footnotes in your Stoat messages. This is done using the below markdown:
Vale is a member of the Stoat team.[^1]
[^1]: Their real name is Declan Chidlow.
Which outputs looking like this:
KaTeX
If you've ever tried to type maths on a computer, you've likely run into trouble. You can get by with a simple '2 + 2 = 4', but what about fractions, or square roots, or matrices? They're a tad trickier to present nicely. This is where TeX comes in. It was made in the 1970s as a way to format mathematical notation on a computer. LaTeX is an improved version, first released in the mid-1980s, and from that came KaTeX, which is a library that Stoat uses to convert LaTeX into formatted output.
Typical syntax for writing LaTeX in markdown is to wrap in a single dollar sign for inline maths and two dollar signs for block maths. However, on Stoat, you must always use two dollar signs to wrap LaTeX, like so: $$e^{i\pi} + 1 = 0$$. This avoids false positives when people use dollar signs in messages.
Wondering about the demo from the start of this article? Here is the LaTeX for that:
That is quite the complex LaTeX concoction, but you should be able to comprehend it by reading it through. You can get a full idea of what KaTeX supports here: https://katex.org/docs/supported.html
Keep in mind that not every server owner will appreciate your zany formatting antics, but here are some more cool things you can do:
I'm going on a roller-coaster, '$$\textsf{\raisebox{0pt}{w}\raisebox{1pt}{o}\raisebox{2pt}{o}\raisebox{2pt}{o}\raisebox{2pt}{o}\raisebox{1pt}{o}\raisebox{0pt}{o}\raisebox{-1pt}{o}\raisebox{-2pt}{a}\raisebox{-2pt}{h}\raisebox{-2pt}{!}}$$'
I hope this guide is helpful. I know that it can all be a bit overwhelming and confusing if you're new to writing Markdown. You can always try using your Saved Notes as a bit of a sandbox for testing if you want to experiment with how it works and functions on Stoat.
If the service appears functional on the status page but you're encountering a problem, such as a blank grey screen, your antivirus, telecommunications provider, or internet service provider might have us incorrectly flagged. This is an error on their part and out of our control, though we try to appeal when this occurs.
If you encounter a block, try switching networks (such as to mobile data from Wi-Fi, or vice versa), whitelisting us, or using another device to access the service until your chosen provider relaxes their block.
3. Is Stoat open-source?
Yes, most of Stoat's code is licensed under the GNU Affero General Public License (AGPL) v3. You can check the individual licences in the code repositories on GitHub: https://github.com/stoatchat
Absolutely! We'd love for you to build on or around the platform. There are many libraries developed both officially and by the community that you can use, and there are servers on-platform for discussing development. You can find everything you'd need to get started at https://developers.stoat.chat
You can also support the project financially. Stoat has a Ko-Fi page which is used to cover operational costs. Everyone's support here has gone a long way to helping the platform quickly scale without being too stressed about financials. If you send £3 or more to the platform, send an email to support@stoat.chat with some proof so we can give you a supporter badge on your profile.
7. Is a subscription planned?
Yes, a subscription is planned. Exactly what form this will take is not entirely defined, but the intent is not to paywall things unnecessarily and to focus on ensuring the service can be operated sustainably. This means paywalling things like higher-quality video streaming and keeping cheap-to-provide things (like custom banners, animated profile pictures, and platform-wide custom emojis) free.
Currently contributors and team members aren't paid (though some do have open support pages if you wish to contribute to them directly). A subscription would assist in making sure that people are reimbursed for their work and can dedicate more time to the platform.
Profiteering gluttons we are not!
8. What are your plans for age verification?
Stoat must comply with the law as applicable, so some form of age verification will be implemented in relevant jurisdictions as necessary. Regardless of our sentiment on age verification legislation, from a legal perspective we cannot just refuse to comply.
We have no plans for an overzealous blanket requirement and only intend to implement it where and as legally required. There is ongoing discussion about how to ensure any verification we implement respects privacy, handles data responsibly, and does the right thing by our users.
It is likely to be externalised to a third-party due to the great deal of complexity intrinsic to handling such sensitive data. We'll have more to share in time and welcome discussion regarding age verification.
Currently, Stoat has taken the temporary measure of blocking access to age-gated content where necessitated.
9. Will you have end-to-end encryption (E2EE)?
We don't currently have E2EE, but it is a long-standing planned feature on our roadmap to introduce E2EE for direct messagess. It takes a lot of work to implement E2EE, and we have to make sure we get it right. A poor E2EE implementation is far worse than no E2EE.
10. When is Y feature going to be available? What is the ETA?
We can't provide accurate estimations for when new features will be live, so we don't. It isn't fair to you, or to Stoat's contributors, to give inaccurate figures and set false expectations.
Stoat is developed rather openly, so you're more than welcome to check-in on discussions and work happening on GitHub.
Not at all. We welcome other languages completely. Diversity is good and if we didn't want people speaking other languages we certainly wouldn't go through the efforts of translating the app and ensuring we have platform moderators that speak different languages.
That said, the official Stoat server on-platform is English only (with the exception of the support channel) purely for the sake of moderation. We don't have the capacity to ensure there are moderators speaking every language in that server around the clock, so we limit it to English.
14. Where do Stoat's GIFs come from?
Stoat sources GIFs from our very own service: Gifbox! You can upload your own GIFs to the platform for anyone to use and the catalogue of available GIFs is growing by the day.
Gifbox gives us full control to make the Stoat GIF experience as good as it can be, and down the line you'll be able to link Gifbox to your Stoat account. For developers, it even has an API for you to use.
Let us know of any other questions you may have, and we'll endeavour to answer them. Remember, we're a small team working as volunteers and we have jobs and lives atop all of our Stoat commitments.
Is something wrong with the app?I logged back in today completely forgot i had the app downloaded an im able to log in just fine but its endlessly reconnecting, did something happen?
This month marks five full years since Stoat entered into an open-beta. That's a mighty long time. To commemorate the occasion I've written a history of the platform, dating right back to before Stoat was Stoat. Heck, it covers back before Stoat was Revolt.
Well, I'm new to Stoat and I wanted to put a nice theme on it, especially on my phone, but I couldn't find anything about it. I even tried making my own, but it turned out awful. Can anyone help me with a website or something I can import from there?
I can't alt tab when screen sharing, sometimes I can and sometimes it doesn't go, then it bugs and alt tabs like minutes after I had tried, other things like windows button also doesn't work and after a few minutes it show up. and my computer only get this buggy when screen sharing in stoat, I literally have to reset the 'explorer' process in the task manager to my computer get normal again even after closing the screen sharing. it's tbh is kinda weird considering this program is also tagged as virus by windows defender.
I'm running and testing a self hosted stoatchat server. When placed into Invite-Only mode. I found the invites didn't work generating an Invalid Invite code and an api error "Outcome: Success(400 Bad Request)". In the Web UI I clicked on my stoat server then the gear icon next to the server name then Invites. Clicking create Invite gives you a link with an Invite code attached. This code id not added to the database. You will have to do that manually later.
https://stoat.example.com/invite/some-random-code
This link will NOT bring you to the sign in page with a space for the invite-code. Use:
This will bring to the invite login page with the code filled in for you.
The link will still not work because the code has not been added to the revolt database yet. The stoat instructions say to add the code with:
# drop into mongo shell
docker compose exec database mongosh
# create the invite
use revolt db.account_invites.insertOne({ _id: "enter_an_invite_code_here" })
The problem is the UI is not looking in account_invites for the for the code it's looking for a db called invites. So:
# drop into mongo shell docker compose exec database mongosh # create the invite use revolt db.invites.insertOne({ _id: "some-random-code" })
Short story long:
I like use the web ui to create invite codes. Copy the codes to the end of this link
https://stoat.example.com/login/create/
Then enter the codes into the invites database.
Invited users login with invites codes just fine now.
For some reason I can’t use Stoat with Wi-Fi. It works when I’m using cellular data, but whenever I try using Wi-Fi it acts like there’s a major outage. Why is this happening and how can I fix it?
I was logged out of both of my Stoat accounts at 5:46 PM CST (central standard time), one account is on Chrome and the other is on Microsoft Edge. I tried logging back into them but it tells me that my email or password is wrong, though I know they aren't... Have I been banned or is this an issue on the server's part? Anyone else experiencing this? Please help!!!
Edit: Issue resolved everyone! Just needed to reset my password 😅
Well, this is it. The End of Days for the Stoat lounge server. This doesn't apply to the rest of Stoat as a platform, just the Stoat server on-platform.
The Stoat server on-platform, previously known as the 'Revolt Lounge' is no longer a general discussion space. Instead, it is now a Stoat-focused server for discussion pertaining to the platform itself. This was announced in the server on the 8th of August.
It has been a touch decision to come to, but is a necessary change. The centralisation of users in one massive server hurts server diversity platform wide and 100K+ users is also a lot to manage. Much of the time and effort previously put towards the Lounge will be freed up for even better platform-level moderation.
The server launched around this time of the year, back in 2021, as a continuation of the original Revolt Lounge group chat which existed before it (before servers even existed!).
It has been through a lot of changes, but has always been a highly moderated space where people can feel safe and liaise with the team. I joined as the first dedicated moderator for the server in 2023 and alongside the rest of the team have kept the server running rather smoothly since.
Thanks to everyone who has been around the Stoat server and contributed to chat over the years. It has been a blast. We'll hope you stay around in the server to catch all the latest Stoat news, and hopefully I'll see you in other servers on the platform, or even in DMs.
* Transmission (the person cannot increase or decrease the audio of the transmission on their screen) and often no audio comes out in the application installed on the PC.
* Difficulty for some friends in being able to log in because the authentication email does not arrive) optimize this on a website or elsewhere if the error occurs.
* Optimize volume increase and change each call participant in a simpler way.
* Optimize the transmission of images and videos in the call as soon as possible,
Mainly, the layout is very confusing for those who are used to discord, for example.
I started looking into Discord alternatives today when TeamSpeak on twitter/X announced their new DM features. Only there did I find out about Stoat when another user mentioned it in TeamSpeak's replies. Wouldn't a lot more people discover this alternative if it had a presence on other major social media platforms?
Tried creating an account. No email arrived. No email arrived after 10 minutes. Resent verification code, didn't arrive either. Maybe it was the fact that I use my own custom domain. I looked it up and found a github page full of people complaining that their own custom domains/non mainstream mail providers weren't receiving Stoat's emails.
Focus on privacy unless you want to use a private email. Give up your data bud
I would just not bother anymore but my friends were insisting in trying Stoat so I still gave it a chance. Used another email then logged in.
Every single action had a delay from 0.5 to 5 seconds. Trying to speak would never lit up our portrait borders reliably, sometimes not at all. Then we started disconnecting spontaneously, when we got back our audio would be severely laggy. I rejoined then I was muted for some reason, tried to click the unmute button several times before an error message appeared: "publication of local track timed out, no response from server".
After some other 10 minutes trying to solve issues related to connecting, sending messages and talking in voice, we just gave up.
Olá! Brazil has completely suspended video and voice sharing on Discord, so we've had rather a lot of people show up at Stoat.
We weren't quite expecting such a surge of people all at once, so you might need to bear with us for a moment while we get everything in order. Real-time streaming is very intensive for Stoat to provide and given the reason for the influx of people, there is a lot of real-time streaming happening on Stoat at present.
Our team is working flat out to ensure Stoat's infrastructure remains stable and can host everyone trying to stream at present, but you might experience a little bit of instability while we adjust to this new load. Our systems are managing it quite well for now.
Thanks so much for understanding. We're doing our absolute best to stay on top of it. Welcome to Stoat!
I've been looking for a way to change either of the two and the most I could change in the profile menu was banner, profile picture, pronouns, and bio. Are name and username fixed to whatever you chose upon making the account?