FiiO JM21 Digital Audio Player (DAP) and Final Audio B3 in-ear earphones (Image: Vitor Valeri / Hi-Fi Hub)
In this review of the FiiO JM21 Digital Audio Player (DAP), you will see that it is a device aimed at those who value portability. In addition, FiiO’s PMP (Portable Music Player), priced under US$200, delivers a wide range of features, including the ability to install any music streaming app, download tracks, and store them on a microSD card.
Considering how I usually use a DAP, the changes that most impacted my experience with the JM21 were the improvements implemented in FiiO Music, the native music playback app, as well as the ability to charge the battery while the device is powered off. This was only possible thanks to the interaction between the manufacturer’s representatives and users on the Head-Fi forum.
The review of the FiiO JM21 was deliberately released late, but for a good reason. I purchased the Digital Audio Player (DAP) during the pre-order period, and since its launch there have been several changes introduced through firmware updates, including bug fixes, optimizations, and the addition of new features.
I bought the JM21 DAP on November 10, 2024, from the brand’s official AliExpress store and received it on the 29th of the same month. This review was originally written and published at the end of August 2025, after approximately nine months of use. I can say that my experience with the player changed significantly in several aspects during this period.
The FiiO JM21 is built with plastic and aluminum. In its original version (blue and silver), it is possible to distinguish the materials by color, as the metal portion is blue and the plastic area is silver. There is also an all-black version of the JM21, which was released later by the brand.
With a 4.7-inch display and a resolution of 1334 × 750 pixels, the JM21’s screen offers a pleasant enough area for typing album names in music apps. Color reproduction is good, making album artwork look appealing.
The JM21’s physical buttons are well positioned, preventing accidental presses on the volume button—something that frequently happened to me on the FiiO M11S. However, I missed a tactile marker on the play/pause button to make it easier to differentiate it from the track forward and backward buttons.

The volume button feels like it is made of metal, while the playback control buttons and the power on/off/lock button give the impression of being plastic.
On the lower right corner, the JM21 features a structure for attaching a lanyard to secure the DAP around the wrist. The pin used to attach the cord is only fitted in place, not glued, which causes a slight noise if you shake the player.

Below, you can watch the FiiO JM21 unboxing video, where I show the DAP’s physical structure.
Internally, the JM21 features a pair of Cirrus Logic CS43198 DACs and two SGM8262-2 op-amps from SG Micro. According to measurement data generated by Henrique Rocha from the “Ankramutt Audio” YouTube channel, the FiiO JM21 DAP delivers the following output power values:
| Impedance | Power (3.5 mm output) | Power (4.4 mm output) |
| 8 ohms | 56 mW (LG) / 233 mW (MG) / 417 mW (HG) | 123 mW (LG) / 422 mW (MG) / 426 mW (HG) |
| 10 ohms | 45 mW (LG) / 189 mW (MG) / 428 mW (HG) | 105 mW (LG) / 453 mW (MG) / 585 mW (HG) |
| 16 ohms | 30 mW (LG) / 131 mW (MG) / 449 mW (HG) | 80 mW (LG) / 345 mW (MG) / 990 mW (HG) |
| 26 ohms | 20 mW (LG) / 85 mW (MG) / 332 mW (HG) | 53 mW (LG) / 231 mW (MG) / 927 mW (HG) |
| 32 ohms | 17 mW (LG) / 69 mW (MG) / 272 mW (HG) | 44 mW (LG) / 191 mW (MG) / 766 mW (HG) |
| 48 ohms | 11 mW (LG) / 47 mW (MG) / 184 mW (HG) | 30 mW (LG) / 133 mW (MG) / 533 mW (HG) |
| 73 ohms | 8 mW (LG) / 31 mW (MG) / 123 mW (HG) | 21 mW (LG) / 90 mW (MG) / 361 mW (HG) |
| 149 ohms | 4 mW (LG) / 16 mW (MG) / 61 mW (HG) | 10 mW (LG) / 46 mW (MG) / 183 mW (HG) |
| 299 ohms | 2 mW (LG) / 8 mW (MG) / 31 mW (HG) | 5 mW (LG) / 23 mW (MG) / 93 mW (HG) |
The JM21 comes with a plastic screen protector applied from the factory. After replacing it with FiiO’s official tempered glass protector, the SF-JM21, touch responsiveness improved considerably. However, I also decided to purchase the one sold by “Mr. Shield.”
The tempered glass sold by Mr. Shield for the FiiO JM21 has higher hardness than the FiiO SF-JM21 (9H versus 6H). In terms of installation, I preferred the tools included with the FiiO SF-JM21, especially the plate designed to press the glass onto the screen and the microfiber cloth, which is better finished.

The adhesive quality of the Mr. Shield protector is better, and I had no issues with dust or bubbles during application. It is worth mentioning that the dust-removal sticker included in the package is not very good, and I recommend using a 3M adhesive tape instead.
The JM21’s portability is impressive when compared to most DAPs released in recent years. At only 13 mm thick, the JM21 is nearly 10 mm thinner than the FiiO M11S, which is about 19 mm thick.
The JM21 weighs 156 g—almost half the weight of the M11S (271 g). With its thin and lightweight body, the result is a better grip when holding the device and barely noticing it when placed in a pocket.

When turning on the FiiO JM21, it takes about 30 seconds to boot. If you connect your wired headphones before unlocking the screen, touch response may fail when swiping to unlock. To avoid this, simply connect the cable after unlocking the screen.
Navigation on the JM21 proved to be fast and smooth both within the operating system and in apps downloaded from the Play Store.
Specifically in FiiO Music, at first I found scrolling through folders and albums stored on my microSD card to be somewhat slow. There was also a noticeable delay in loading album thumbnails next to each track.
After several JM21 firmware updates and FiiO Music updates, navigation and image rendering improved significantly. As a result, the overall experience in the player’s native music app became much more pleasant in my view.
Tip: When using the crosshair icon located at the bottom left corner during folder navigation in FiiO Music, you will be taken directly to the folder and track currently being played.
Below, you can watch a video demonstrating the navigation experience on the FiiO JM21 with firmware version 1.0.7 and FiiO Music version 3.2.8.
The FiiO JM21 comes with the following apps pre-installed:
• Applications (FiiO’s app store)
• Clock
• Enter Sleep (JM21 sleep/hibernate mode)
• Equalizer (global EQ)
• FiiO Cast (remote control of the JM21 via smartphone)
• FiiO Music (FiiO’s native music player)
• FiiO Roon (Roon support on the JM21)
• Gallery
• Google Chrome
• Google Files
• Google Play Store
• Tape Mode (music playback mode with cassette tape animation)
• Technical Support (firmware updates and issue feedback)
When using USB DAC mode on the JM21 connected to a Windows 10 laptop, I experienced high audio latency when watching YouTube videos through the Microsoft Edge browser, causing voices to be out of sync with lip movements.
The delay was approximately one second and can be bothersome. For this reason, I recommend the FiiO JM21 in USB DAC mode only for music listening.
The FiiO JM21 allows users to connect an external DAC or DAC/amp via USB. You can use a portable dongle DAC/amp, a desktop DAC/amp, or a dedicated DAC. This is useful if you want a different performance compared to the JM21’s internal DAC and amplifier.
When connecting the JM21 to a desktop DAC, it is possible to disable power delivery via the USB port, since only data transmission is required. To do this, go to Settings > Battery and enable Disable Battery Charging. This helps avoid sound interference caused by power delivery.
Like the USB port, the JM21’s coaxial output can also be used to connect a DAC or DAC/amp. To use the coaxial output, you need a digital cable with a 3.5 mm plug on one end and an RCA connector on the other.
The JM21 provides coaxial output through the 3.5 mm headphone jack. Digital signal transmission must be enabled before connecting the cable. To do this, go to Settings > Audio > Select 3.5 mm output mode and tap SPDIF.
The JM21 allows you to connect it to an amplifier or active speakers to output your music. To do so, simply use the line-out mode of the 3.5 mm or 4.4 mm outputs.
To enable line-out mode, go to Settings > Audio > Select 3.5 mm output mode (or Select 4.4 mm output mode) and select LO. Do not do this if wired headphones are connected to the DAP. For headphone use, always select PO.
You can use the following cables with the JM21’s line-out:
• 3.5 mm to 3.5 mm
• 4.4 mm to 4.4 mm
• 3.5 mm to RCA
• 4.4 mm to XLR
Across all apps, two unusual behaviors occur during music playback on the FiiO JM21:
• When pausing music for about 30 seconds and then pressing play, a “pop” noise occurs.
• When the next track has a different sample rate than the current one, a “pop” noise is heard at the beginning of the track (for example, when the current track is 44.1 kHz and the next is 96 kHz).
To check the sample rate in any app, go to Settings > Display > Sample Rate Display.
It is important to mention that all music apps installed on the JM21 bypass Android’s SRC (Sample Rate Conversion) when using USB or plugging headphones into the 3.5 mm or 4.4 mm outputs, meaning the audio is not resampled to 48 kHz.
To properly format the microSD card for use in the FiiO JM21, you should format it using the DAP itself rather than a desktop application or PC. This ensures that data is written and read more efficiently.
The FiiO JM21’s battery lasted a maximum of 10 hours and 30 minutes in my tests. The shortest runtime was 6 hours and 42 minutes. In terms of power efficiency, I found that the JM21’s average battery consumption [1] ranges from a minimum of 228.5 mA to a maximum of 373.8 mA.
Based on my tests, the following average runtimes and battery consumption values were obtained using the JM21’s 2400 mAh lithium-ion battery:
• 8 h 30 min / 282.3 mA – Listening to music on FiiO Music and Apple Music (downloaded tracks) with Wi-Fi off, 4.4 mm balanced output, volume 30, low gain
• 6 h 42 min / 373.8 mA – Using Tidal in USB Audio Player Pro (UAPP) with Wi-Fi on, 4.4 mm balanced output, volume 30, low gain
• 10 h 30 min / 228.5 mA – Listening to music on FiiO Music and Apple Music (downloaded tracks) with Wi-Fi off, 3.5 mm single-ended (SE) output, volume 60, low gain
• 8 h 42 min / 285 mA – Using Tidal in UAPP with Wi-Fi on, 3.5 mm SE output, volume 60, low gain
The factors that most affected battery life were Wi-Fi usage and the balanced output. When leaving the JM21 powered on without playing music, with no apps open (idle state), battery drain was only about 0.5% per hour.
I recommend performing three full battery cycles to achieve optimal battery performance. A full cycle means using the device from a fully charged battery until it is completely depleted.
[1] Average battery consumption is the average usage rate, calculated by dividing battery capacity (mAh) by battery life (hours/minutes). The lower the value, the better the energy efficiency. Example: 2400 mAh / 10.5 h = 228.57 mA.
FiiO recommends using a charger rated at a minimum of 5V/2A for the JM21. The charger must supply at least 2 amperes; for example, it should not be a 5V/1A charger. Note that the JM21 does not support fast charging.
The FiiO JM21 has good Wi-Fi reception compared to smartphones. To verify this, I used my Asus Zenfone 9 as a reference. The app used for measurements was Wifiman, developed by Ubiquiti, a manufacturer of networking equipment.
Both devices were placed on a phone stand and positioned with no obstacles between them and a Ubiquiti UniFi U6 Lite access point. The Zenfone 9 showed a Wi-Fi signal about 2 dB stronger than the JM21. Interestingly, in terms of latency, the JM21 achieved 1 ms less than the Zenfone 9.
Download and upload speeds differed significantly: the Zenfone 9 reached 428 Mbps (download) / 278 Mbps (upload), while the JM21 reached 146 Mbps (download) / 165 Mbps (upload).

In my perception, the FiiO JM21’s sound leans toward neutrality, with a slight emphasis in the treble and less prominent bass. This sound signature favors long listening sessions without causing ear fatigue.
At first listen, I had the impression of a very calm sound where nothing stood out. Over time, however, my perception changed, and I now consider it balanced yet musical. I noticed that the bass gained a bit more weight and the treble became more refined after six months of use.
The JM21’s bass has less volume than what is typically found in other portable music players. Personally, I find this characteristic excellent, as it makes the sound less congested and more pleasant for hours of listening without fatigue. At the same time, there is good depth and texture in the lower frequencies.

The mids are present and lively, thanks to the transition into the treble. In the higher frequencies, there is a good level of brightness, adding clarity to instrument sounds and vocals. Over time, I noticed improvements in treble extension and decay, bringing more detail.
The background noise level on the JM21 stood out to me, especially in genres such as jazz and classical music. With a “blacker” background, it becomes easier to perceive subtle sonic nuances.
Soundstage and instrument separation on the JM21 are not as strong as on DAPs like the FiiO M11S and other more expensive models. However, this is not a critical weakness, and it is something one can adapt to over time.
When using the Sennheiser Momentum True Wireless 4 TWS in-ear headphones, I noticed that when pressing play for the first time, the first few seconds of the track played in Apple Music did not sound. I had to restart the track to hear it from the beginning. This issue did not recur for the rest of the playlist.
To use the aptX codec, you must go to the JM21’s Settings app, select Audio, tap Bluetooth Audio Encoder, and choose aptX before connecting the Bluetooth device to the DAP. If this procedure is not followed, the codec used automatically will be AAC or SBC.
Some users have reported issues with audio lag during playback, but fortunately I did not encounter this problem in my tests. Music playback, even with tracks of different sample rates downloaded in Apple Music for offline listening, worked normally.
If your Bluetooth headphones or speakers support the LDAC codec, you can adjust the bitrate used. This is useful for achieving good audio quality while improving signal stability and reducing battery consumption. Access this feature via Settings > Audio > Bluetooth Audio LDAC Encoder: Playback Quality.
The FiiO JM21 delivers not only excellent value for money in terms of sound, but also returns to the essence of what is expected from a portable player, making it a great choice for those looking for something light, thin, and compact to carry anywhere in a pocket.
In my view, the JM21 is the best player on the market under US$200 with music streaming support, capable of downloading tracks for offline listening, offering the largest number of features, the best processing capability, the highest output power, and the most connectivity options.
With firmware version 1.0.7, FiiO added Tape Mode, bringing an interesting touch of nostalgia for some users. Check it out in the video below.
No comments have been made yet, be the first!