package icon

Knit

Encrypted mesh chat over Wi-Fi Aware & Bluetooth — no internet, no servers.
New in version 2.2.3
A themed launcher icon, and a launch screen that follows your device's light or dark theme.

Knit's icon now supplies a monochrome layer, so on Android 13 and newer it takes on the colours of your
themed-icon home screen instead of falling back to a generic shape.

Starting Knit on a dark-themed device no longer flashes a white screen before the app appears. The
launch screen now uses the same light or dark background as the rest of the app.
Knit is a messenger that works with no internet, no cell service, no accounts, and no servers. It connects directly to the phones around you over Wi-Fi Aware and Bluetooth to pass messages device to device.

When you send a message, nearby phones receive it and relay it onward to the phones around them — so your words can hop across a crowd, a building, or a campsite, reaching people far past your own signal range. The more people using Knit nearby, the further messages travel.

WHY KNIT
• No internet or mobile data required
• No account, phone number, or email to sign up
• No central server — nothing to shut down, monitor, or leak
• No ads, no tracking, no analytics, no Google Play Services
• Free software — anyone can read exactly what the app does

PERFECT FOR
• Festivals, concerts, and crowded venues where signal dies
• Travel, flights, ships, and remote areas off the grid
• Camping, hiking, and the backcountry
• Power outages and emergencies when networks go down
• Anywhere you just want to reach the people right around you

PRIVATE BY DESIGN
Direct and group chats are end-to-end encrypted. Each message is sealed so only the people in the conversation can read it — even as it travels hop by hop through other phones, those relays only ever carry scrambled ciphertext. Your keys are generated on your device and protected by hardware-backed Android security. Confirm you're talking to the right person by comparing a safety number or scanning a QR code in person.

ABOUT THE PERMISSIONS
Knit asks for nearby-devices (and, on Android 12 and older, location) because that is what Android requires to discover peers over Wi-Fi Aware and Bluetooth LE. It also declares the INTERNET permission — not to reach the network, but because Android classes the local socket Knit opens over a direct Wi-Fi Aware link as network access. Knit contacts no server, has no backend, and sends nothing off your device.

FREE SOFTWARE
Knit is released under the GNU General Public License v3 or later, and the full source code is public at github.com/getknit/knit. You don't have to take our word for how any of it works — you can read the code that runs on your phone, or build the whole app yourself.

FEATURES
• Public "Nearby" room to broadcast to everyone in range
• Private 1:1 direct messages (end-to-end encrypted)
• Multi-member group chats (end-to-end encrypted)
• Quoted replies, emoji reactions, and @-mentions
• Profiles with a display name, status, and avatar
• Image sharing, including GIFs
• Typing indicators and delivery indicators, and unread badges
• Store-and-forward — messages wait and deliver when a recipient returns to range
• Share the Knit app itself to a nearby phone, offline, with no app store needed

SAFER SPACES
On-device content filtering screens out abusive text and explicit images, running entirely offline with nothing sent to any server. Sensitive content you receive is blurred behind a tap to reveal, and any sender is one tap away from being blocked.

BEAUTIFUL & MODERN
A clean, modern messaging interface built with Material 3, including full dark mode.

Knit is free, open source, and funded entirely by tips — no ads, no servers, no tracking. If it's useful to you, you can leave a one-off tip at ko-fi.com/zaventh or a recurring one at liberapay.com/zaventh.

HOW IT WORKS
Knit runs two radios at once — Wi-Fi Aware and Bluetooth Low Energy — to form an ad-hoc mesh network directly with other Knit users near you, so it keeps working even on phones that only support one of the two. It works best when allowed to run in the background so the mesh stays connected. Requires Android 10 or newer with Wi-Fi Aware and/or Bluetooth LE support.

Note: Knit reaches people who are physically nearby, or within relay range of the crowd between you — it is not a replacement for internet messaging across cities. The public Nearby room is unencrypted by design, since it has no fixed set of recipients.

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 2.2.3 (12) suggested Added on Aug 14, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 10 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • pair with Bluetooth devices
      Allows the app to view the configuration of the Bluetooth on the phone, and to make and accept connections with paired devices.
    • access Bluetooth settings
      Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
    • advertise to nearby Bluetooth devices
      Allows the app to advertise to nearby Bluetooth devices
    • connect to paired Bluetooth devices
      Allows the app to connect to paired Bluetooth devices
    • discover and pair nearby Bluetooth devices
      Allows the app to discover and pair nearby Bluetooth devices
    • take pictures and videos
      This app can take pictures and record videos using the camera while the app is in use.
    • change network connectivity
      Allows the app to change the state of network connectivity.
    • connect and disconnect from Wi-Fi
      Allows the app to connect to and disconnect from Wi-Fi access points and to make changes to device configuration for Wi-Fi networks.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "connectedDevice"
      Allows the app to make use of foreground services with the type "connectedDevice"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • interact with nearby Wi-Fi devices
      Allows the app to advertise, connect, and determine the relative position of nearby Wi-Fi devices
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • ask to ignore battery optimizations
      Allows an app to ask for permission to ignore battery optimizations for that app.
    • app.getknit.knit.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 69 MiB PGP Signature | Build Log

  • New in version 2.2.2
    Fixes a crash in "Scan their code".

    The QR scanner has been rebuilt on CameraX. The library it used before could crash the app the moment
    the camera opened, on devices whose camera reports one frame size and delivers another — which is why it
    worked on some phones and not others. Decoding now happens in code that treats any unexpected frame as a
    frame without a code in it, so a scan can no longer take Knit down.

    The scanner also handles the camera permission properly now: if you decline it, or
  • Version 2.2.2 (11) - Added on Aug 03, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 10 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • pair with Bluetooth devices
      Allows the app to view the configuration of the Bluetooth on the phone, and to make and accept connections with paired devices.
    • access Bluetooth settings
      Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
    • advertise to nearby Bluetooth devices
      Allows the app to advertise to nearby Bluetooth devices
    • connect to paired Bluetooth devices
      Allows the app to connect to paired Bluetooth devices
    • discover and pair nearby Bluetooth devices
      Allows the app to discover and pair nearby Bluetooth devices
    • take pictures and videos
      This app can take pictures and record videos using the camera while the app is in use.
    • change network connectivity
      Allows the app to change the state of network connectivity.
    • connect and disconnect from Wi-Fi
      Allows the app to connect to and disconnect from Wi-Fi access points and to make changes to device configuration for Wi-Fi networks.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "connectedDevice"
      Allows the app to make use of foreground services with the type "connectedDevice"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • interact with nearby Wi-Fi devices
      Allows the app to advertise, connect, and determine the relative position of nearby Wi-Fi devices
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • ask to ignore battery optimizations
      Allows an app to ask for permission to ignore battery optimizations for that app.
    • app.getknit.knit.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 69 MiB PGP Signature | Build Log