{"id":13438135,"url":"https://github.com/florisboard/florisboard","last_synced_at":"2026-01-23T02:40:43.736Z","repository":{"id":36994179,"uuid":"254202848","full_name":"florisboard/florisboard","owner":"florisboard","description":"An open-source keyboard for Android which respects your privacy. Currently in early-beta.","archived":false,"fork":false,"pushed_at":"2025-05-08T22:46:22.000Z","size":120670,"stargazers_count":6885,"open_issues_count":499,"forks_count":444,"subscribers_count":105,"default_branch":"main","last_synced_at":"2025-05-08T23:32:40.959Z","etag":null,"topics":["android","input-method","keyboard","kotlin","kotlin-android"],"latest_commit_sha":null,"homepage":"https://florisboard.org","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/florisboard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["patrickgold"],"liberapay":"patrickgold","custom":["https://paypal.me/devpatrickgold"]}},"created_at":"2020-04-08T21:18:23.000Z","updated_at":"2025-05-08T23:21:30.000Z","dependencies_parsed_at":"2023-01-17T12:01:33.808Z","dependency_job_id":"ebe61fd4-7ec6-424f-8a3c-25e53a2dc88c","html_url":"https://github.com/florisboard/florisboard","commit_stats":{"total_commits":1995,"total_committers":118,"mean_commits":"16.906779661016948","dds":0.5634085213032581,"last_synced_commit":"53cfbad4042dead541df05469c316ab588650150"},"previous_names":[],"tags_count":98,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/florisboard%2Fflorisboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/florisboard%2Fflorisboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/florisboard%2Fflorisboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/florisboard%2Fflorisboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/florisboard","download_url":"https://codeload.github.com/florisboard/florisboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253765763,"owners_count":21960787,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","input-method","keyboard","kotlin","kotlin-android"],"created_at":"2024-07-31T03:01:03.146Z","updated_at":"2026-01-23T02:40:43.730Z","avatar_url":"https://github.com/florisboard.png","language":"Kotlin","funding_links":["https://github.com/sponsors/patrickgold","https://liberapay.com/patrickgold","https://paypal.me/devpatrickgold"],"categories":["HarmonyOS","Kotlin","Android","Communication","4 Smartphone","android","🎨 Personalization and UI"],"sub_categories":["Windows Manager","Android Keyboard","Keyboards","4-2 Applications","⌨️ Keyboards"],"readme":"\u003cimg align=\"left\" width=\"80\" height=\"80\"\nsrc=\".github/repo_icon.png\" alt=\"App icon\"\u003e\n\n# FlorisBoard [![Crowdin](https://badges.crowdin.net/florisboard/localized.svg)](https://crowdin.florisboard.org) [![Matrix badge](https://img.shields.io/badge/chat-%23florisboard%3amatrix.org-blue)](https://matrix.to/#/#florisboard:matrix.org) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md) [![FlorisBoard CI](https://github.com/florisboard/florisboard/actions/workflows/android.yml/badge.svg?event=push)](https://github.com/florisboard/florisboard/actions/workflows/android.yml)\n\n**FlorisBoard** is a free and open-source keyboard for Android 8.0+\ndevices. It aims at being modern, user-friendly and customizable while\nfully respecting your privacy. Currently in beta state.\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003cth align=\"center\" width=\"50%\"\u003e\n\u003ch3\u003eStable \u003ca href=\"https://github.com/florisboard/florisboard/releases/latest\"\u003e\u003cimg alt=\"Latest stable release\" src=\"https://img.shields.io/github/v/release/florisboard/florisboard?sort=semver\u0026display_name=tag\u0026color=28a745\"\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003c/th\u003e\n\u003cth align=\"center\" width=\"50%\"\u003e\n\u003ch3\u003ePreview \u003ca href=\"https://github.com/florisboard/florisboard/releases\"\u003e\u003cimg alt=\"Latest preview release\" src=\"https://img.shields.io/github/v/release/florisboard/florisboard?include_prereleases\u0026sort=semver\u0026display_name=tag\u0026color=fd7e14\"\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd valign=\"top\"\u003e\n\u003cp\u003e\u003ci\u003eMajor versions only\u003c/i\u003e\u003cbr\u003e\u003cbr\u003eUpdates are more polished, new features are matured and tested through to ensure a stable experience.\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd valign=\"top\"\u003e\n\u003cp\u003e\u003ci\u003eMajor + Alpha/Beta/Rc versions\u003c/i\u003e\u003cbr\u003e\u003cbr\u003eUpdates contain new features that may not be fully matured yet and bugs are more likely to occur. Allows you to give early feedback.\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd valign=\"top\"\u003e\n\u003cp\u003e\n\u003ca href=\"https://apt.izzysoft.de/fdroid/index/apk/dev.patrickgold.florisboard\"\u003e\u003cimg src=\"https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png\" height=\"64\" alt=\"IzzySoft repo badge\"\u003e\u003c/a\u003e\n\u003ca href=\"https://f-droid.org/packages/dev.patrickgold.florisboard\"\u003e\u003cimg src=\"https://fdroid.gitlab.io/artwork/badge/get-it-on.png\" height=\"64\" alt=\"F-Droid badge\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\n\n**Google Play**: Join the [FlorisBoard Test Group](https://groups.google.com/g/florisboard-closed-beta-test), then visit the [testing page](https://play.google.com/apps/testing/dev.patrickgold.florisboard). Once joined and installed, updates will be delivered like for any other app. ([Store entry](https://play.google.com/store/apps/details?id=dev.patrickgold.florisboard))\n\n\u003c/p\u003e\n\u003cp\u003e\n\n**Obtainium**: [Auto-import stable config][obtainium_stable]\n\n\u003c/p\u003e\n\u003cp\u003e\n\n**Manual**: Download and install the APK from the release page.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003ctd valign=\"top\"\u003e\n\u003cp\u003e\u003ca href=\"https://apt.izzysoft.de/fdroid/index/apk/dev.patrickgold.florisboard.beta\"\u003e\u003cimg src=\"https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png\" height=\"64\" alt=\"IzzySoft repo badge\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\n\n**Google Play**: Join the [FlorisBoard Test Group](https://groups.google.com/g/florisboard-closed-beta-test), then visit the [preview testing page](https://play.google.com/apps/testing/dev.patrickgold.florisboard.beta). Once joined and installed, updates will be delivered like for any other app. ([Store entry](https://play.google.com/store/apps/details?id=dev.patrickgold.florisboard.beta))\n\n\u003c/p\u003e\n\u003cp\u003e\n\n**Obtainium**: [Auto-import preview config][obtainium_preview]\n\n\u003c/p\u003e\n\u003cp\u003e\n\n**Manual**: Download and install the APK from the release page.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\nBeginning with v0.7 FlorisBoard will enter the public beta on Google Play.\n\n## Highlighted features\n- Integrated clipboard manager / history\n- Advanced theming support and customization\n- Integrated extension support (still evolving)\n- Emoji keyboard / history / suggestions\n\n\u003e [!IMPORTANT]\n\u003e Word suggestions/spell checking are not included in the current releases\n\u003e and are a major goal for the v0.6 milestone.\n\nFeature roadmap: See [ROADMAP.md](ROADMAP.md)\n\n## Contributing\nWant to contribute to FlorisBoard? That's great to hear! There are lots of\ndifferent ways to help out, please see the [contribution guidelines](CONTRIBUTING.md) for more info.\n\n## Addons Store\nThe official [Addons Store](https://beta.addons.florisboard.org) offers the possibility for the community to share and download FlorisBoard extensions.\nInstructions on how to publish addons can be found [here](https://github.com/florisboard/florisboard/wiki/How-to-publish-on-FlorisBoard-Addons).\n\nMany thanks to Ali ([@4H1R](https://github.com/4H1R)) for implementing the store!\n\n\u003e [!NOTE]\n\u003e During the initial beta release phase, the Addons Store _will_ only accept theme extensions.\n\u003e Later on we plan to add support for language packs and keyboard extensions.\n\n## List of permissions FlorisBoard requests\nPlease refer to this [page](https://github.com/florisboard/florisboard/wiki/List-of-permissions-FlorisBoard-requests)\nto get more information on this topic.\n\n## APK signing certificate hashes\n\nThe package names and SHA-256 hashes of the signature certificate are listed below, so you can verify both FlorisBoard variants with apksigner by using `apksigner verify --print-certs florisboard-\u003cversion\u003e-\u003ctrack\u003e.apk` when you download the APK.\nIf you have [AppVerifier](https://github.com/soupslurpr/AppVerifier) installed, you can alternatively copy both the package name and the hash of the corresponding track and share them to AppVerifier.\n\n##### Stable track:\n\ndev.patrickgold.florisboard\u003cbr\u003e\n0B:80:71:64:50:8E:AF:EB:1F:BB:81:5B:E7:A2:3C:77:FE:68:9D:94:B1:43:75:C9:9B:DA:A9:B6:57:7F:D6:D6\n\n##### Preview track:\n\ndev.patrickgold.florisboard.beta\u003cbr\u003e\n0B:80:71:64:50:8E:AF:EB:1F:BB:81:5B:E7:A2:3C:77:FE:68:9D:94:B1:43:75:C9:9B:DA:A9:B6:57:7F:D6:D6\n\n\n## Used libraries, components and icons\n* [AndroidX libraries](https://github.com/androidx/androidx) by\n  [Android Jetpack](https://github.com/androidx)\n* [AboutLibraries](https://github.com/mikepenz/AboutLibraries) by\n  [mikepenz](https://github.com/mikepenz)\n* [Google Material icons](https://github.com/google/material-design-icons) by\n  [Google](https://github.com/google)\n* [JetPref preference library](https://github.com/patrickgold/jetpref) by\n  [patrickgold](https://github.com/patrickgold)\n* [KotlinX coroutines library](https://github.com/Kotlin/kotlinx.coroutines) by\n  [Kotlin](https://github.com/Kotlin)\n* [KotlinX serialization library](https://github.com/Kotlin/kotlinx.serialization) by\n  [Kotlin](https://github.com/Kotlin)\n\nMany thanks to [Nikolay Anzarov](https://www.behance.net/nikolayanzarov) ([@BloodRaven0](https://github.com/BloodRaven0)) for designing and providing the main app icons to this project!\n\n## License\n```\nCopyright 2020-2026 The FlorisBoard Contributors\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n\nThanks to [The FlorisBoard Contributors](https://github.com/florisboard/florisboard/graphs/contributors) for making this project possible!\n\n\u003c!-- BEGIN SECTION: obtainium_links --\u003e\n\u003c!-- auto-generated link templates, do NOT edit by hand --\u003e\n\u003c!-- see fastlane/update-readme.sh --\u003e\n[obtainium_preview]: https://apps.obtainium.imranr.dev/redirect.html?r=obtainium://app/%7B%22id%22%3A%22dev.patrickgold.florisboard.beta%22%2C%22url%22%3A%22https%3A%2F%2Fgithub.com%2Fflorisboard%2Fflorisboard%22%2C%22author%22%3A%22florisboard%22%2C%22name%22%3A%22FlorisBoard%20Preview%22%2C%22additionalSettings%22%3A%22%7B%5C%22includePrereleases%5C%22%3Atrue%2C%5C%22fallbackToOlderReleases%5C%22%3Atrue%2C%5C%22apkFilterRegEx%5C%22%3A%5C%22preview%5C%22%7D%22%7D%0A\n[obtainium_stable]: https://apps.obtainium.imranr.dev/redirect.html?r=obtainium://app/%7B%22id%22%3A%22dev.patrickgold.florisboard%22%2C%22url%22%3A%22https%3A%2F%2Fgithub.com%2Fflorisboard%2Fflorisboard%22%2C%22author%22%3A%22florisboard%22%2C%22name%22%3A%22FlorisBoard%20Stable%22%2C%22additionalSettings%22%3A%22%7B%5C%22includePrereleases%5C%22%3Afalse%2C%5C%22fallbackToOlderReleases%5C%22%3Atrue%2C%5C%22apkFilterRegEx%5C%22%3A%5C%22stable%5C%22%7D%22%7D%0A\n\u003c!-- END SECTION: obtainium_links --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflorisboard%2Fflorisboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflorisboard%2Fflorisboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflorisboard%2Fflorisboard/lists"}