GifBoard is an Android Input Method Editor (IME) built for finding and sharing GIFs. It is a specialized companion tool designed to work alongside your primary text keyboard.
Important
GIF-Only Input: GifBoard is designed exclusively for GIF input. It is not a replacement for a text keyboard but a specialized input method for GIF search and insertion. You will need to switch between it and your primary keyboard dynamically.
-
Discovery & Insertion:
- Metadata & Embeds: Uses IME APIs to provide metadata for GIF embeds in compatible apps (e.g., Discord, Slack).
- Native Image Support: Inserts GIF files into apps that support direct image commits (e.g., WhatsApp, Telegram, Google Messages).
- Automatic Fallback: Option to insert a direct URL if the target app does not support rich content.
- Recents: Shows recent queries and sent GIFs for quick access.
-
System Integration:
- Material You Design: Updates its interface colors based on the Android system's dynamic color palette (Android 12+).
- Configurable Layout: Supports a 1 to 4 column grid for search results with optional high-quality previews.
-
Input & Control:
- Adjustable Haptics: Vibration feedback with Light, Medium, and Strong strength settings.
- Configurable SafeSearch: Provides Strict, Moderate, and Off filtering levels.
Since GifBoard is only for GIF searching, you'll want to switch between it and your primary keyboard (like Gboard / Swiftkey / Florisboard) dynamically.
- Open your device Settings.
- Go to System > Languages & input > On-screen keyboard.
- Tap Manage on-screen keyboards and toggle GifBoard to On.
- Confirm any security prompts (this is a standard Android warning for all third-party keyboards).
- Open any app and tap a text field to bring up your current keyboard.
- From GifBoard: Tap the Exit button (➡️) in the top-right corner of the search bar to switch back to your previous keyboard.
- From other keyboards, look for the Switching Icon (varies by device and Android version):
- Globe icon (🌐): Often found on the keyboard next to the spacebar.
- Keyboard icon (⌨️): Usually in the navigation bar.
- Long-press Spacebar: Some devices allow you to switch by long-pressing the spacebar.
- Select GifBoard from the keyboard picker to use GIFs, then use the exit button to return to typing.
Download the latest APK from the Releases page and install it on your Android device.
- Clone the repository:
git clone https://github.com/gifboard/gifboard.git
- Open the project in Android Studio.
- Build and run the app on your device or emulator.
Alternatively, use Gradle:
./gradlew assembleDebugTo build a signed release APK, you need to provide the signing properties via Gradle project properties.
-
Properties required:
RELEASE_STORE_FILE: Path to your keystore file.RELEASE_STORE_PASSWORD: Keystore password.RELEASE_KEY_ALIAS: Key alias.RELEASE_KEY_PASSWORD: Key password.
-
How to specify them:
Option A: Command Line
./gradlew assembleRelease \ -PRELEASE_STORE_FILE=/path/to/release.jks \ -PRELEASE_STORE_PASSWORD=your_password \ -PRELEASE_KEY_ALIAS=your_alias \ -PRELEASE_KEY_PASSWORD=your_password
Option B:
gradle.properties(Private) Add these to your local~/.gradle/gradle.propertiesto avoid committing them to version control:RELEASE_STORE_FILE=/path/to/release.jks RELEASE_STORE_PASSWORD=your_password RELEASE_KEY_ALIAS=your_alias RELEASE_KEY_PASSWORD=your_password
If you do not have a release keystore, you can generate one using the keytool command:
keytool -genkey -v -keystore my-release-key.keystore -alias gifime -keyalg RSA -keysize 2048 -validity 10000Follow the prompts to enter your keystore and key passwords, as well as your organizational details. Once generated, move the file to a secure location and update your gradle.properties as described above.
Contributions are welcome! Please feel free to submit pull requests or open issues.
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

