Square
Download · Features · First launch · FAQ · Telegram community · Building
| Player | Lyrics | Effects |
|---|---|---|
![]() |
![]() |
![]() |
| Artist | Album | Glass settings |
![]() |
![]() |
![]() |
Features
Two sources, one app
- Spotify or YouTube Music, chosen at first launch and switchable in the settings. Home, search, the library and the player work the same on both.
- Spotify: your own account, with its playlists, library and Connect devices. Needs Premium.
- YouTube Music: the whole catalogue and the music videos, with no account needed. Sign in with Google to bring in your playlists, albums and followed artists.
Player
- The cover or the song's looping canvas video behind the controls.
- Music videos: switch from the song to its video in place, without losing the queue or the position, and keep watching in picture-in-picture.
- Radio from any song, and autoplay of similar songs when the queue ends.
- Crossfade between songs, with an option to skip trailing silence.
- Sleep timer: after 5 to 60 minutes or at the end of the song, fading out before it stops.
Audio effects
- Speed and pitch, each on its own, plus reverb.
- Presets, so "slowed + reverb" is one tap on any song.
- Karaoke: turn the voice down.
- Streaming quality that follows the connection, or a fixed one.
Lyrics
- Synced lyrics, word by word where they exist and line by line otherwise.
- Translation into your language, under the original lines.
Library and discovery
- Playlists, albums, artists and liked songs. Create, rename and delete playlists, add and remove songs, pin favourites, follow artists.
- A home page of shelves made for you, a New tab with releases and charts, and a Radio tab of stations, moods and genres.
- Search, with your recent searches kept (swipe one away to remove it).
- The music already on your phone, in a Local files shelf.
Offline
- Download playlists, albums and songs, from either source. A song kept by two playlists is downloaded once.
- Downloads over Wi-Fi only, and automatic downloads of your liked songs.
- Offline mode: play only what is on the phone.
Spotify extras
- A Connect device: send playback to Square from any other device, and control your other devices from it.
- What your friends are listening to.
- Similar playlists at the end of each playlist.
- Song credits: performers, writers and producers.
- What you play is saved to your listening history, as it would be anywhere else you listen.
- Spotify links can open straight in Square.
Android Auto
- Browse playlists and recently played, search by voice, like a song or start a radio from the car.
Look and language
- Every control, the tab bar, the player, the sheets and the menus are made of one refracting glass. Blur, refraction and tint are adjustable, with a lighter mode for slower phones.
- Eight languages: English, Italian, Spanish, French, German, Portuguese, Hindi and Turkish, chosen independently of the phone's own.
Download
Or
Download the APK from the latest release and install it. Square needs Android 8.0 or later.
Square updates itself: it checks for new releases and installs them from the settings. It is not on the Play Store and cannot be; see the disclaimer.
The first minutes after installing are slower
Android takes a while to optimise a freshly installed app, and until it does the interface is noticeably slower. To do it straight away, open the app once and give it a few seconds, then run this with the phone connected:
adb shell cmd package compile -m speed-profile -f dev.lelonio.square
Run before the app has been opened, the command finds nothing to compile.
First launch
Square first asks where the music should come from. You can change it later in the settings.
- YouTube Music plays straight away. Signing in with Google, from the settings, is optional.
- Spotify needs a Premium account and a few minutes of guided setup: you sign in, then register a free app of your own in Spotify's developer dashboard and paste its client ID. Search and a few other features go through Spotify's Web API, which limits requests per app, so with your own app the limit is yours alone. The setup walks you through every step.
FAQ
Square does not appear in Android Auto. Android Auto only lists apps installed from the Play Store. Turn on "Unknown sources" in Android Auto's developer settings and Square shows up.
Can I use a free Spotify account? No. A free account can sign in, but Spotify only streams to a client like this one with Premium. YouTube Music works with no account at all.
YouTube Music search works, but songs do not play. YouTube changes how its streams are served every so often. Update to the latest release, which is usually where the fix is.
Disclaimer
Square is not affiliated with, endorsed by or connected to Spotify or Google. Both sources are used on terms they do not offer: Square re-implements Spotify's protocol, which Spotify's Terms of Service forbid, and reads YouTube Music through the private endpoints its own web client uses. It cannot be published on the Play Store, and you use it at your own risk. There is no warranty of any kind; see the licence.
Help and feedback
- Telegram community: join Square | Community for questions, feedback, bug reports and feature requests.
- Release announcements: Square | Official automatically shares new APKs and release notes from GitHub.
- Questions (how something works, how to set it up): Discussions, Q&A
- Ideas and requests: Discussions, Ideas
- Something broken: open an issue. If the app closed or froze, attach a report from Settings → About → Save a report.
The same two links are in the app, under Settings → About.
Support
Square is free and has no ads. If it is useful to you, you can support its development on Ko-fi.
Credits
| Project | Licence | How it is used |
|---|---|---|
| librespot | MIT | The Spotify engine. librespot-core, librespot-playback and librespot-connect are vendored with local patches. |
| Spotify Web Playback SDK | Spotify Developer Terms | Playback for accounts Spotify refuses audio keys, through the listener's own developer app. |
| Metrolist | GPL-3.0 | Its InnerTube client, vendored as innertube/, because it is published nowhere else. Powers the signed-in YouTube Music library. |
| NewPipeExtractor | GPL-3.0 | Anonymous YouTube Music search and stream URLs. |
| lossless.wtf | n/a | Synced lyrics timed to the word, asked first on both sources. |
| LrcLib | n/a | Synced lyrics for the YouTube Music source, over its open API. |
| Spicy Lyrics | AGPL-3.0 | The lyrics animation, ported to Compose by @donutnotnut in #50. |
| Bungee | MPL-2.0 | Time stretching, fetched at build time. |
| AndroidLiquidGlass | Apache-2.0 | The glass material; the catalog components are copied with their notice. |
| Phosphor Icons | MIT | Every icon in the app. |
| ebur128 | MIT | Loudness of local files, so they play at the level of the streamed tracks. |
| librespot-java | Apache-2.0 | The listening-event format, re-implemented from its EventService rather than copied. |
| go-librespot and go-librespot-termux | GPL-3.0 | The remote sleep timer's command and state fields, the check on truncated audio keys, and how Spotify's DJ is resolved and voiced (the session service, client-tts, the narration metadata), re-implemented from their findings rather than copied. |
Building from source
Requirements, build steps, signing, the architecture and notes on the code are in docs/DEVELOPMENT.md.
Licence
GPL-3.0-or-later. See LICENSE.
The lyrics view,
LyricsView.kt,
is ported from Spicy Lyrics and stays under AGPL-3.0, combined with the rest as
section 13 of both licences allows.






