With the SK31, Sofirn delivers a tactical flashlight for demanding use, at least that’s the idea. A two-stage tail switch, a one-handed lockout and a stainless steel bezel are just some of the interesting details.
However, a closer look reveals aspects of the operation that can be problematic in practice.
You can find the German version of this review on my website: SammysHP Blog › Sofirn SK31
The flashlight was provided by the manufacturer for this review. Thank you very much!

Overview and hardware
The flashlight comes in a retail packaging with a vacuum-formed insert. The accessories are located on the back of the insert.
- Sofirn 21700 Li-ion battery (5000 mAh, unprotected, flat-top, 3.77 V at arrival)
- Dual-way clip (already attached)
- Lanyard
- Belt holster
- USB-C charging cable
- 2x replacement O-ring
- Manual (EN, CN, RU, DE, FR, ES, IT, JP, PT)
The manual consists of a 48 × 24 cm sheet of paper printed on both sides. In addition to the text, the operation is also explained using pictograms and diagrams. However, some of these are somewhat confusing.

When opening the box, instructions say to remove the insulator from the battery before first use and unlock the flashlight.

The SK31 comes in a timeless design. The body is made of aluminum with a black anodized finish. Fine knurling on the battery tube provides a secure grip even in wet conditions.

At 149 mm in length, the SK31 falls in the average range compared with other tactical flashlights. It’s not really suited for a pants pocket and is better carried on a belt or vest.
Length: 149 mm
Diameter (head): 36.0 mm
Diameter (battery tube): 27.0 mm
Diameter (tailcap): 29.3 mm
Weight (without battery): 156 g
Weight (21700 battery): 69 g
Weight (total): 225 g

Armytek Predator Pro Max | Nitecore P27iX | Sofirn SK31 | Nextorch TA30C Max | Klarus XT21X Pro
The bezel is made of black-coated stainless steel to better protect the flashlight in the event of a drop. Its crenelated profile lets you see whether the flashlight is switched on when standing on its head. Three embedded silicon nitride balls allow the flashlight to be used as a glass breaker. However, these also make the flashlight somewhat unstable when standing on its head.

One highlight of this flashlight is the screwed cover for the charging port. It also conceals a hidden button and a status LED. The mechanism operates smoothly and requires just one turn to open fully. O-rings seal the cover against water.

The tailcap has a two-stage switch and a small lever for the lockout. Despite having two wings, the flashlight cannot stand on its tail. The reason is the protruding switch. One of the wings has a hole for attaching a lanyard.

The two-way clip simply slides onto the rear end of the flashlight. Because the clip sits so far back, the flashlight hangs rather unbalanced with the head pointing upward. I would therefore have preferred a simpler clip with a larger opening.
Without the clip, the SK31 tends to roll away easily on a flat surface. Flat sides on the head could solve this problem.

Alternatively, the flashlight can be carried in the included belt holster. It closes with Velcro and has elastic side panels to keep the flashlight securely in place.

The holster can be worn either via a fixed loop or via a second loop, that is closed with a snap button and Velcro. This also makes it MOLLE-compatible. The setup is complemented by an additional D-ring.

The battery can be charged directly in the flashlight via an integrated USB-C port. It is protected from water and dirt by a screwed cover. This type of cover seems much more reliable than a small silicone plug. However, if dirt ever gets behind the cover, it could be more difficult to clean.

The battery charges at 5 V with up to nearly 2 A. This means the flashlight is fully charged and ready for use again in less than three hours. The charging progress is indicated by an LED that changes from red to green when the battery is fully charged. During charging, the flashlight switches off and cannot be used.

The battery tube has a double-wall construction to transmit the switch signals from the tailcap to the driver. The tailcap and battery tube are glued together, so the flashlight can only be unscrewed at the head.

Strong springs on both sides ensure reliable contact with the battery. The flashlight is compatible with both flat-top and button-top batteries. Protected batteries, however, are unlikely to fit due to their length.

A tactical flashlight must also operate reliably under demanding conditions. The SK31 is rated IPX8 and protected against water to a depth of one meter. It is also designed to withstand drops from heights of up to 1.5 meters.
User interface
The SK31 is operated via a two-stage tail switch with a silicone boot. The first stage responds to a gentle press of just 300 cN and is completely silent. The second stage requires significantly more pressure at around 1,650 cN and is noticeably audible and tactile. Directly next to it is a small lever used to control the lockout.

There are two operating modes: an “Outdoor Mode” for everyday use and a “Tactical Mode” with direct access to Turbo and Strobe. The mode can be switched using the hidden mode button located behind the screwed ring. When pressed, it lights up orange for Outdoor Mode and blue for Tactical Mode. If the button does not respond, the flashlight may be locked.
In Outdoor Mode, the flashlight is turned on and off by fully pressing the switch. When the flashlight is on, a half-press of the switch cycles to the next brightness level (Moonlight → Eco → Low → Mid → High → Turbo). The last used brightness level is memorized.
When the flashlight is used in Tactical Mode, the first stage of the switch activates Turbo, while the second stage provides access to Strobe. If the switch is released within five seconds, the flashlight immediately turns off. If it is held down longer, the flashlight remains on after the switch is released. In Turbo, a half-press of the switch switches to Medium, while Strobe also provides SOS and a beacon mode. A full press turns the flashlight off again.
In Strobe mode, the frequency alternates between 7.5 and 15 Hz every two seconds to enhance the disorienting effect. As is often the case, the SOS signal does not conform to the standard (“SOS” without a pause). In Beacon mode, the flashlight emits a brief flash once every two seconds.

The small lever next to the tail switch allows the flashlight to be quickly and easily locked and unlocked. When locked, the flashlight is automatically switched off and cannot be switched on again. This makes it safe to carry in a pocket while still allowing it to be quickly ready for use again.

After the flashlight is switched on, a status LED integrated into the mode button indicates the approximate battery level for five seconds. When the battery voltage is critically low, the LED continuously pulses red while the flashlight is on. Unfortunately, this helpful information is not visible in practice because the LED is hidden behind the screwed ring.
| Color | Battery level |
|---|---|
| Green | 75% – 100% |
| Green blinking | 50% – 75% |
| Red | 25% – 50% |
| Red blinking | < 25% |

Unfortunately, I find the operation to be a major disappointment. A two-stage switch offers numerous possibilities that are not even remotely exploited in the current implementation. In Outdoor Mode, there is no direct access to the lowest brightness level. Instead, you first have to cycle through all the brighter levels. By the time you reach the low level, you have already been blinded.
Even more confusing is the operation in Tactical Mode, which is specifically intended for demanding situations under stress. To turn the flashlight on continuously, the switch must be held in the half-pressed position while slowly and deliberately counting to five. Only then does the flashlight remain on. If you press the switch too far, Strobe is activated. If you release it too soon, the flashlight turns off again. A lower brightness level (Medium) cannot be accessed until after those five seconds. The same applies to the SOS and beacon modes.
Here’s a suggestion for simple yet versatile operation with direct access to the most important functions. The Mode button could also be used to implement programmable functions (e.g. customized brightness levels).
| State | Action | Function |
|---|---|---|
| Off | Half press | Turn on in Moonlight |
| Off | Full press | Turn on in previously used brightness |
| Off | Half hold | Momentary with previously used brightness |
| Off | Full hold | Momentary Turbo |
| On | Half press | Change brightness (Moonlight → Eco → Low → Mid → High → Turbo) |
| On | Full press | Turn off |
| On | Half hold | Change brightness (Turbo → High → Mid → Low → Eco → Moonlight) |
| On | Full hold | Momentary Turbo |
The lockout via a separate switch is a practical solution – at least in theory. In practice, however, the tiny switch is difficult to operate, especially when wearing gloves and in the dark.

Other than that, I really like the flashlight’s handling. The switch is easy to find and press. The size is comfortable, even when wearing gloves.

Illumination
The light is produced by an LMP LHP73B LED. This LED consists of 16 small chips and stands out with its large light emitting area and high output.

The SK31 uses a cool-white variant with low CRI. The light is shaped by a smooth reflector protected by a glass lens with a magenta anti-reflective coating.
As expected, this combination produces a fairly floody beam. The large hotspot is surrounded by a wide corona and transitions smoothly into a bright spill. Precise aiming is therefore not necessary with this flashlight. Fortunately, there is only a slight color difference between the hotspot and spill and the tint is neutral without any green.


Outdoors, the flashlight produces a broad wall of light. The hotspot provides a bit of extra throw, but overall, raw output is the main focus of this flashlight.



Driver and runtime
The manufacturer does not provide any further information about the type of driver. Based on my observations, however, I conclude that it is probably a buck regulator with a FET for direct drive.
| Mode | Brightness¹ | Runtime¹ | Intensity¹ (Throw²) |
|---|---|---|---|
| Turbo | 6800 / 1150 lm | 30 s + 2 h | 39 006 cd (395 m) |
| High | 2400 / 1150 / 710 lm | 3 min + 1:30 h + 40 min | |
| Medium | 1150 / 660 / 350 lm | 90 min + 25 min + 70 min | |
| Low | 350 lm | 10:30 h | |
| Eco | 50 lm | 66 h | |
| Moonlight | 1 lm | 500 h |
¹ According to manufacturer ² ANSI FL1
Right at the beginning of the test, I noticed two things: First, the stated 6,800 lm probably isn’t quite reached with the included battery (although I don’t completely trust my test setup in this regard). Other users report achieving over 8,000 lm with higher-performance batteries.
Much more serious is a problematic behavior in Outdoor Mode: If the flashlight is switched off in Turbo, it initially starts in High the next time it is switched on. Only after about 30 seconds does it automatically switch to Turbo.

After the initial stepdown in the brighter modes, the brightness is kept relatively constant for a long time. Toward the end of the runtime, another stepdown occurs until the flashlight eventually turns off.


With light cooling, the flashlight briefly reaches a temperature of around 50 °C in Turbo. The temperature monitoring then reduces the output, causing the flashlight to cool down to just below 40 °C. There is therefore still some room for higher sustained output.


Thermal image with Zoyi ZT-R02
All brightness levels are regulated without PWM. Even with an oscilloscope, no significant ripple could be detected.

There is one exception in Turbo: Maximum output is apparently provided via direct drive through a FET. Once the temperature regulation kicks in, the brightness is reduced using PWM until it reaches the level of the constant-current driver.

2 s/div
At a low state of charge, the brightness of the lower modes shows a distinct triangular waveform with a period of two seconds. This is caused by the pulsing/breathing battery level indicator, which may be affecting the driver’s reference voltage. This effect is also clearly visible to the naked eye.

Due to the double-wall battery tube, it was not possible to measure the current directly. Likewise, the cutoff voltage that protects the battery from over-discharge could not be determined. However, at the end of each runtime measurement, the battery voltage was just below 3 V.
Conclusion
Great hardware, poor software – that’s the Sofirn SK31 in a nutshell. The combination of a powerful LMP LHP73B with a well-regulated driver, a two-stage tail switch, a separate switch for the lockout and a screwed cover for the USB-C charging port provide the perfect hardware foundation for a great flashlight.
The operation is all the more disappointing. The two-stage switch leaves much of its potential unused. For example, there is no direct access to the lowest or highest brightness level and in Tactical Mode, the switch must be held halfway down for a full five seconds to keep the flashlight on. Minor firmware bugs make the overall experience even less enjoyable.
Hopefully, Sofirn will fundamentally revise the firmware and address these issues in a future SK31v2.