The Smart DayNight switcher plugin automatically adjusts your Obsidian theme based on local sunrise and sunset times, offering a seamless transition between light and dark modes throughout the day. By entering your location coordinates manually, the plugin calculates accurate time changes and adapts the theme accordingly without sending data externally. This setup removes the need to manually switch themes as daylight changes. It works entirely offline and ensures your workspace aligns naturally with your environment.
Implemented corrections from https://github.com/obsidianmd/obsidian-releases/pull/5684#issuecomment-2744079414 .
Functionality left the same, but there were changes in code.
Calculates daily sunrise and sunset times for your location and automatically switches your Obsidian theme: light mode when the sun rises ☀️ and dark mode when it sets 🌒.
No more manual theme switching!
Note: Obsidian doesn’t allow plugins to access your geolocation, so you’ll need to input it manually.
It’s simple!
Sunrise and sunset times vary by location and date due to latitude, longitude, and the time of year. For example, on March 12, 2025, the sun rises at 07:05 and sets at 16:16 in Madrid, but in Warsaw (same time zone), it’s 05:22 and 17:33. Quite a difference, right? Curious why? Check YouTube or this Wikipedia article for more!
Note: Obsidian doesn’t allow plugins to access your geolocation, that is why you need to input it manually.
The plugin defaults to London’s coordinates, switching themes based on sunrise/sunset there.
The plugin uses your latitude and longitude in a formula to calculate sunrise/sunset times locally on your device. No data is sent anywhere. Still worried? Feel free to use coordinates of a nearby city (within 200 km) instead—though the further away, the less accurate the timing.
Feel free to open an issue in this repository. I’ll check it out and do my best to help!
If this plugin becomes popular enough (downloaded by over 5,000 people), I’ll make an effort to implement the following features: