Back to Silas S. Brown's home page
Understanding rejection on WeChat (Weixin)(Quick links: cache cleanup, audio, pictures and video, website blocking. See also URL encoder for mobile chat.)
Many Chinese people now prefer to manage their contacts using a proprietary mobile messaging and social networking application called WeChat
Image and video limitsIf pasting a scanned document into a WeChat conversation as an image, the size limit is 300KiB, after which the image is shown only as a blurred preview unless the recipient presses a small button they might not notice. So it's best to stay below 300KiB.
- Beware a lower limit of about 128K applies if you do any of the following on WeChat's Android app:
- Forward the image from one conversation to another (or from the Favourites list to a conversation) via the "Send to Chat" option;
- Add the image to a conversation via "+" and "Album";
- Send the image from a file manager to WeChat and choose a chat.
- The iOS version of WeChat does not appear to be affected by this lower limit---it can forward images of the full 300KiB from one chat to another without degrading them.
- But the Mac OS X version---at least version 184.108.40.206 on OS 10.7---has been known to apply a lower limit if you drag an image file from the desktop into a conversation.
- WeChat normally uses the JPEG format, but also accepts PNG (useful for screenshots etc). If you give it <300KiB PNG and later save/export, WeChat will use a
.jpgextension but it will still be your PNG file.
I have a separate page for technical information on creating narrow-column screenshots.
The size limit for inline videos is just under 14MiB, and the mobile application should be used to introduce these into the WeChat network (i.e. by 'Share' or 'Send' from another mobile application)---at least some versions of the desktop application send videos as "files" that need extra action to view. Attempts to send videos larger than 14MiB on the mobile application get the error "unable to import", although the "say something" caption (if any) is sent anyway. The error "Unable to share this video due to unspported format" (e.g. if trying to post a short video to Moments) probably means you need to recode to h264.
By comparison, WhatsApp usually compresses inline images to around 250k (with no option to see full size) and limits video to 16MiB (as of 2017; best sent from the mobile application), Telegram Messenger scales down to max 1280 pixels per dimension and sends the result as an 87%-quality JPEG (unless uploaded as a file) but has a much more generous video limit, and LINE can send large JPGs but the recipient must save (to Pictures/LINE) to access resolutions higher than the zoomed-out screen (this screen's "pinch to zoom" does not add more detail), so you'd have to set a reduced DPI to avoid double-bluring.
Audio recordingsMP3 files are sent as "files" no matter what, so the desktop application can be used ("drag and drop"); if using the mobile application, shared files (unlike videos) need to be added to "WeChat Favourites" before they can reliably be sent to a chat. Once in Favourites, the option to "forward" from the "Favourites" screen is unreliable; it seems better to go into the chat itself and press the + button, scroll to the Favourites option, and find the MP3 that way. Ensure it is uploaded before deleting from Favourites. After you delete it from Favourites, you will get the message "This file is no longer available" when you try to open it in the chat, but the other party should still be able to access it for a few days.
Website blockingWeChat's built-in browser variant (which is used if a user taps a link in a chat) can block innocent charity or corporate websites due to Tencent's poor quality control of its block-list, which I confirmed in mid-2018 is not an exact copy of any government's official block-list and which is applied to WeChat users in every country (and also to users of Tencent's other product "QQ Browser", but that one put a small "continue anyway" button on its warning message, whereas WeChat did not). If the innocent web article you send to your friends is served from a domain that happens to be on WeChat's current block-list, your recipient will get an "illegal content" notice if they tap the URL. The appeal form requires an ICP number, which is clearly inappropriate for non-Chinese domains and casts doubt on WeChat's claim to be "international".
For example, in mid 2018 WeChat globally blocked the publisher of this article about stress that I had linked to from my unofficial exam stress guide---I'm aware the publisher is religious and there are different religious opinions (although it's hard to fault that article), but the publisher is definitely legal in most countries. The fact that WeChat for Android's version number was 6.6.6 at the time of the block was, I believe, mere coincidence.
Reverse-engineering the Android APK shows page-load requests are intercepted via the
shouldInterceptRequest() (which gives the final URL no matter how the browser got there, so you can't work around it with intermediate pages or redirects), but it's unclear how the blocked domains and their replacement URLs are generated (Tencent's server labels the above site as "evil type 205" whatever that means). I believe the app might send an "is this domain OK" message to Tencent's servers when it sees a new domain; I certainly can't find a stored block-list in the client code.
Links in PDF files are not affected, since an external PDF viewer will use the non-WeChat browser for its links. But not all phones have PDF viewers installed.
(WeChat's limit for sending PDF files is 25M; larger files can be split using
pdftk, e.g. pdftk book.pdf cat 1-52 output book-pages-1-52.pdf)
Cache bloatThe Android version of WeChat can build up multiple gigabytes in a directory with a 32 hex-digit name under
/sdcard. These files are not the chat logs---they're just cache (and I haven't found an option to clear it; Android's built-in cache-clearing option does not affect this).
- Removing the
videosubdirectory results in all videos in chat history (including 10-second "sights") being replaced by placeholders; you might need to do this to reclaim space after you've sent a video clip to many contacts). Videos saved in "favourites" are not affected;
- and at least the
snsdirectories are always safe to delete without losing any history, pictures, files or "favourites".
If a Chinese friend asks you to "fix" their WeChat on an older phone with internal storage measured in megabytes (such as the ChinaMobile-branded ZTE U809, which runs a version of Android 4.2 with only 177M of usable internal storage), beware this might no longer be possible because WeChat tends to insist on updating to its latest version, which (even if installed to SD card) assumes it can write hundreds of megabytes to internal storage and crash the phone in the process. Installing a very old smaller version of the APK will not work: even last year's versions tend to just take you to the update process after first login. If you can root the device then you might be able to create symlinks to the SD card, but these cannot be created for the correct directories on non-rooted devices due to the way Android runs FUSE. The quickest solution could be to ask if they have a tablet or something to run it on instead: in one case I wasted 2½ hours trying 'hacks' only to find the person had already installed it on a tablet and didn't want it on their old phone that badly.
Length limitsIf you rename your contacts, the new names are limited to 50 characters and are truncated without warning---so you can't write yourself too much of a reminder of where you met a person etc.
Comments on "official account" posts are limited to 600 characters---there is no warning until you try to post, and there is no character-count indicator, so if you run into problems there you may have to use a different editor with character count and paste in the result (unless you want to go back to 1960s/70s programming where you had to manually count out the number of characters you typed into a Hollerith constant!)
Chinese programmers might assume "one character" carries as much information as a Chinese character, so they may not realise how easy it is for English users to reach their limits. But the American developers of WhatsApp inexplicably limited group-chat titles to a mere 25 characters! (But at least that limit is made obvious as you type.)
Network effectWeChat's dominance in China was perhaps assisted by the company's good relationship with that country's network police, with its mobile operators (SIM cards with WeChat-specific data allowances are not unheard of), and with integrated shopping and payment services and "portals" to local facilities. Outside China, WeChat tends to lack these advantages, but many mainland Chinese visitors and immigrants keep using it anyway due to their existing network of contacts, and due to the convenience of WeChat's automatic contact-exchange facilities. Scanning a QR Code seems to have become the most popular method, although a WeChat update in mid-2017 prevented the generation of QR codes while offline: if you expect patchy signal coverage, you now have to prepare by taking a screenshot of your QR code while connected. For most of 2017 it seemed these codes needed re-generating every 4 weeks, but in 2018 one of mine still worked after 28 weeks.
They therefore put up with their data being sent through Chinese servers (which, apart from anything else, can be slow when you're outside China), with the "vanishing contacts" issue, and with WeChat's limited range of font sizes (especially on high-DPI devices) and limited functionality on the desktop. At least its sound compression ratio is reasonable.
Sometimes they'll accept an alternative installed alongside WeChat for use while they're in the UK. My current recommendation is Telegram Messenger, which is run by a non-profit, can be set to larger fonts, has a good range of desktop clients, etc. But not everyone even understands what it means to install a different application. Some of the older generation I met evidently had it installed by the manufacturer, a shop, or a friend or relative, and don't know what I mean by "install something else". Additionally, some older devices (e.g. iOS 4.x) cannot run recent versions of many applications, so it would be necessary to find an old version and somehow 'side-load' it, or risk an OS replacement.
ScamsAs with any form of messaging, it's probably best not to accept an `add' if you don't know who it is, especially if you actually visit an Asian country: con artists have reportedly tricked victims into going to a particular location for a "first meeting in person", only to be held to ransom by gangsters on arrival (this crime is easier to commit in small countries like Singapore). In June 2016 my WeChat ID (which I had given only to selected Chinese people I met in Cambridge) suddenly received an `add' request claiming to be from Malaysia and not giving me any clue who it was; to give them the benefit of the doubt I wrote "Apa khabar?" but received no reply and the next day eight other anonymous "Malaysians" had tried to add me. I find this highly suspicious. My ID could have been found via brute-force search, most likely of QQ numbers: I had my old QQ number linked to the account, but disabled "find by QQ ID" after this incident because I believe none of my genuine earlier contacts who had my QQ number are still likely to use it to find me.
MalwareOn iOS, a pre-6.2.6 version of WeChat was infected by malware due to its developers having accidentally downloaded "XcodeGhost" instead of Xcode. Additionally, we don't know what Tencent itself does with the information WeChat can read, so it's probably best to avoid storing things like company-confidential documents on the same device, just in case.
Disclaimer: The notes on this page are provided in the hope that they are useful, but they are not official instructions and may contain mistakes. Your use of them is at your own risk.
All material © Silas S. Brown unless otherwise stated.
Android is a trademark of Google LLC.
Mac is a trademark of Apple Inc.
MP3 is a trademark that was registered in Europe to Hypermedia GmbH Webcasting but I was unable to confirm its current holder.
QR Code is the UK registered trademark of Denso Corporation.
Telegram is a trademark of Telegram Messenger LLP.
WeChat is a trademark of Tencent Holdings Limited.
WhatsApp is a trademark of WhatsApp Inc.
Any other trademarks I mentioned without realising are trademarks of their respective holders.