Skip to content

Jellyfin Screen Time Limits for Children

Most people asking this have already been through the user settings. They found the parental controls, set a maximum rating, and then went hunting for the field where you type "ninety minutes a day". It isn't there.

What Jellyfin has instead sits close enough to be genuinely confusing. Here is what it does, where it stops, and what people do about the difference.

What Jellyfin gives you natively

The setting people find is Access Schedule, in a user's profile on the server dashboard. You name the days and the hours during which that user may sign in and play something. Outside those hours they cannot start anything, and the documentation is explicit that media "can only play during the timeframe and will be stopped past it".

Give Jellyfin credit for that second half. A normal Jellyfin server is the thing sending you the video, so when the window shuts it stops sending, and the app on the other end gets no vote.

There is a limit to how far that reaches. Anything already delivered has gone: an app sitting on a large buffer, or playing a file it downloaded for offline viewing, is not asking the server for anything and will not notice the window close. Close enough to a hard stop on most evenings. Not literally one.

So there is a real time control here. It just answers a different question from the one most parents came with, and that is where the confusion starts.

Window versus budget

Two different household rules, and almost everything else follows from which one you actually want.

What it says Jellyfin
A window Nothing after eight on a school night Yes, Access Schedule
A budget Ninety minutes a day, spend it when you like No

Bedtime is a window, and Access Schedule handles it well. "You have had enough today" is a budget, and a window cannot express it: a child who watches from four until eight has done four hours without once breaking the rule.

Budgets are usually what a family has already agreed to, because that is how screen time works on a phone.

Jellyfin only does the first. Not really an oversight. It was built for whoever runs the server, who is normally also the person watching it, and the parent who runs one for everybody else in the house turned up later.

It has been asked for

A daily time limit is a long standing open request on Jellyfin's feature tracker, alongside related asks for time of day restrictions. If you are looking for it and cannot find it, you have not missed a setting.

How people fill the gap

All of this works on a Jellyfin server you run yourself. Even if you never touch it, it tells you what anybody selling you the feature is doing on your behalf.

Approximating a budget with a schedule

Make the window narrow enough and it doubles as an allowance. Half past five to seven is ninety minutes, in the sense that the server will not serve anything outside it.

Free, and it holds for anything streamed. The catch is that the time is nailed down. It cannot move to a wet Saturday morning, it does not carry over, there is no granting an extra half hour for a birthday, and a child halfway through a film at seven is finished at seven.

Driving it from the API

Jellyfin's API can update a user's policy, including the access schedule, so a script can compute how much a child has watched and rewrite the window to close early once they have had their allowance.

Parents do run this. It is more work than it sounds: somewhere to run the script, your own watch-time tracking off playback reporting, timezones, midnight rollovers, and the standing possibility of writing a policy that never opens or never closes. Fine as a weekend project, if you fancy maintaining it afterwards.

Device level controls instead

Apple Screen Time, Google Family Link and Microsoft Family Safety all do daily budgets properly, across every app on the device. They are also better than people assume at the fine-grained version, since each can put a separate allowance on a single app.

If what worries you is total screen time, that is the layer to use and a media server is the wrong tool entirely.

What they cannot do is follow a person around. The limit on a child's tablet knows nothing about the television in the lounge that nobody signs into, and it does not travel with them to a different screen.

Most households end up running both, the device for the overall allowance and the server for rules about this one thing.

What we do instead

JellyStreams, included with the AIOMagic Bundle, adds a daily cap per profile alongside the rating filters. Households were the starting point here, not a case it grew into later.

  • A daily budget per profile, set in minutes, from the parent panel.
  • A warning on screen with five minutes left, which appears over whatever is playing without interrupting it.
  • A message, and a stop on apps that support it, when the time is gone. The next section is exact about which do.
  • The owner profile is never capped, so the person who set the rule is not subject to it.
  • The panel is at a separate address behind your ElfHosted login, so it is not reachable from the app the children use.

What it can and cannot enforce

Here we come off worse than a standard Jellyfin, and you should know why before you rely on it.

Playback is a redirect. The video goes from the provider straight to the app and never passes through us, so we cannot stop sending what we were never sending in the first place.

What happens instead is that we ask the app to stop, over the same live connection Jellyfin clients already keep open to their server. Apps holding that connection and honouring the command do stop. An app with no connection open never hears it. One that hears it and ignores it carries on.

Cooperation, not a cryptographic boundary

On an app that holds the connection and honours the command, a child watching on an ordinary evening gets a warning and then a stop. That is the case this was built for. On an app that does neither they get neither, and nothing about that requires a child who set out to defeat it. Call it meaningful friction, in the same family as device enrolment. We would rather say so now than have you discover it.

Starting something new is a different matter. That always means asking us, so a capped profile is refused outright and no cooperation is involved.

See the AIOMagic Bundle Read the JellyStreams app page

Frequently asked questions

Does Jellyfin have a screen time limit?

Not a daily one. It has an Access Schedule: a window, not a budget. A daily limit remains an open feature request.

Can I give my child extra time for one night?

You can, by widening tonight's window and then remembering to put it back afterwards. Jellyfin has no concept of an override that expires on its own, so the remembering is your job. Raise a budget for a day and it drops back on its own overnight. That alone is a decent argument for preferring one.

Will this stop them watching on their phone?

Only in this app, on a screen signed in to this server. Everything else on that phone is invisible to a media server. If you want a total allowance, that is a job for Apple, Google or Microsoft, and a server cap is the rule covering this one thing.

Does the child see a warning, or does it just stop?

A warning on screen with five minutes left, then a message once the time has gone. Getting cut off with no notice is how a household rule turns into an argument with a computer.

What happens if my child's app does not support being stopped?

They finish whatever is already playing, and cannot start anything else. You will find out the way you find out about any app quirk, by watching it happen once.

Is a media server cap better than device screen time?

Narrower, and aimed somewhere else. Device controls see every app on a device, per-app allowances included, but they belong to the device. A server cap belongs to the person, so it follows their profile onto the shared television in the lounge. Most households want both.