OptiFine Alternatives

Why?

OptiFine was originally a great mod offering many quality of life improvements for the player in the beginning. However, over the years, its benefits have dwindled and has caused many issues for modders. This is due to Minecraft's codebase improving over the years and OptiFine's aggressiveness towards replacing entire swaths of code while being closed source making it very difficult to figure out why OptiFine has broken another modder's mod. Also worth noting that OptiFine natively doesn't support Fabric and it's hard to maintain OptiFabric.

In the modern Minecraft era, with Fabric's community effort, modders have begun to create alternatives for most of OptiFine's features to allow players to maintain better performance, better mod compatibility, and better support.

OptiFabric: A note about the 1.16 crashes

This list

This list will list recommended OptiFine alternatives by me (LambdAurora), so it has some requirements for mods to be listed here:

This list now has a fancy URL: https://lambdaurora.dev/optifine_alternatives

Contribute

You can contribute to this list by opening a pull request on the data branch via GitHub.

Alternatives

Performance

Client

Cull Leaves's logo
Cull Leaves
by TeamMidnightDust

Adds culling to leaf blocks, providing a huge performance boost over vanilla. Similar to OptiFine's Smart Leaves feature.

Versions
Cull Particles's logo
Cull Particles
by Tfarcenim

Don't render particles that can't be seen. Unneeded with Sodium.

Versions
Dynamic FPS's logo
Dynamic FPS
by juliand665

Improve performance when Minecraft is in the background.

Versions
Enhanced Block Entities's logo
Enhanced Block Entities
by FoundationGames

Reduce FPS lag with block entities, as well as customize them with resource packs.

Versions
EntityCulling's logo
EntityCulling
by tr7zw

Using async path-tracing to hide (Block-)Entities that are not visible.

Versions
Sodium's logo
Sodium
by CaffeineMC

Modern rendering engine and client-side optimization mod for Minecraft.

Versions

General

LazyDFU's logo
LazyDFU
by astei

Makes the initialization of DataFixerUpper "lazy". DataFixerUpper (or DFU for short) is the system used by Minecraft to convert old worlds to the current version you're running, in Vanilla it's initialized at startup and is slow (and eats a lot of resources). This mod delays the initialization of DFU by initializing only when needed, if you're playing only on multiplayer it'll never get initialized for example.

Versions
Lithium's logo
Lithium
by CaffeineMC

No-compromises game logic/server optimization mod.

Versions
Phosphor's logo
Phosphor
by CaffeineMC

No-compromises lighting engine optimization mod. Incompatible with Starlight.

Versions
Starlight's logo
Starlight
by PaperMC

Rewrites the light engine to fix lighting performance and lighting errors. Uses a custom format for light storage. Incompatible with Phosphor.

Versions

Cosmetic

Animatica's logo
Animatica
by FoundationGames

A mod implementing the OptiFine/MCPatcher animated texture format.

Versions
Chime's logo
Chime
by Emi

Adds predicates for more interactive item models, CIT replacement with a custom format.

Versions
CIT Resewn's logo
CIT Resewn
by shsupercm

Re-implements MCPatcher's CIT (custom item textures from optifine resource packs)

Versions
Clear Skies's logo
Clear Skies
by grondag

Horizon and fog match the sky color. True blue skies!

Versions
Colormatic's logo
Colormatic
by kvverti

An independent implementation of the custom colors mod for Minecraft.

Versions
Connected Block Textures's logo
Connected Block Textures
by TwilightFlower

An implementation of the MCPatcher/Optifine connected textures format on the Fabric modloader. Unmaintained.

Versions
Continuity's logo
Continuity
by PepperCode1

A Fabric mod that allows for efficient connected textures. Support emissive textures.

Versions
Custom Entity Models (CEM)'s logo
Custom Entity Models (CEM)
by dorianpb

An implementation of custom entity models heavily based off of Optifine's format that aims to achieve feature parity with Optifine's custom entity models.

Versions
Custom GUI's logo
Custom GUI
by omoflop

A mod allowing to animate GUI textures or replace container textures with minimal predicates.

Versions
Entity Texture Features's logo
Entity Texture Features
by Traben_0

A Fabric mod implementing randomized & emissive texture support for mobs set by the resourcepack. Fully compatible with the Optifine format & Sodium.

Versions
FabricSkyboxes's logo
FabricSkyboxes
by AMereBagatelle

Allows resource packs to define custom skyboxes. OptiFine format is not compatible by default, converters are available.

Versions
JMX's logo
JMX
by vram-guild

JMX adds support for FREX Rendering API features to Minecraft JSON model loading. It can also be configured to load all JSON models as FREX meshes, which may offer a modest reduction in memory usage due to more efficient data structures.

Versions
JsonEM (Json Entity Models)'s logo
JsonEM (Json Entity Models)
by FoundationGames

Data driven entity model library, should work with most entities. Does not support OptiFine's format.

Versions
LambdaBetterGrass's logo
LambdaBetterGrass
by LambdAurora

Adds better grass and snow to the game.

Versions
LambDynamicLights's logo
LambDynamicLights
by LambdAurora

Adds dynamic lighting to the game.

Versions
More Block Predicates's logo
More Block Predicates
by omoflop

Allows resource packs to change block models depending on new conditions! Custom format.

Versions
MoreMcmeta's logo
MoreMcmeta
by soir20

Animate almost any Minecraft texture with more options.

Versions
Transparent's logo
Transparent
by Trikzon

Allows resource packs to make entities support transparency.

Versions
Varied Mob Textures's logo
Varied Mob Textures
by digifox03

This mod allows the resource packs creator to have multiple randomized textures for the same mob. Uses custom format, OptiFine-based resource packs will need conversion.

Versions

Splash Screen

Custom Splash Screen's logo
Custom Splash Screen
by TeamMidnightDust

Change Minecraft's loading screen to your liking! Completely configurable!

Versions
Dark Loading Screen's logo
Dark Loading Screen
by Neecko5b84

A simple mod to make the loading screen darker.

Versions
Quilt Loading Screen's logo
Quilt Loading Screen
by wafflecoffe, darkerbit (previously)

A loading screen based off of The Quilt Community's server banner.

Versions
Splash's logo
Splash
by LoganDark

Splash is a Fabric mod that allows you to customize the colors of your splash screen.

Versions

Shaders

Canvas Renderer's logo
Canvas Renderer
by vram-guild

A new rendering engine. Incompatible with Sodium.

Versions
Iris's logo
Iris
by IrisShaders

A new shaders mod for Minecraft intended to be compatible with existing ShadersMod/Optifine shaders.

Versions

Fog

ClearView's logo
ClearView
by tfarecnim

Controls which kinds of fogs are shown.

Versions
Custom Fog's logo
Custom Fog
by Setadokalo

A mod allowing you to customize the appearance of fog in your world.

Versions
Fog Control's logo
Fog Control
by capnkork

Allows the user to adjust the (client) distance at which fogs render or disable them completely.

Versions
FogYeet's logo
FogYeet
by SRAZKVT

Small mod for 1.15 to remove fog.

Versions
NoFog's logo
NoFog
by Tommeh2, Virtuoel

A simple client-side mod supporting both forge and fabric that removes all fog. (ARR)

Versions

Utility

Fabrishot's logo
Fabrishot
by ramidzkh

Take insanely large screenshots because why not?

Versions
Resolution Control's logo
Resolution Control
by juliand665

Allows you to set render resolutions and take large screenshots.

Versions
ResolutionControl+'s logo
ResolutionControl+
by UltimateBoomer

Allows you to set render resolutions and take large screenshots.

Versions

Cloud Height

Raised Clouds's logo
Raised Clouds
by haykam

Allows changing the height at which clouds appear.

Versions
Soaring Clouds's logo
Soaring Clouds
by Draylar

Allows changing the height at which clouds appear.

Versions

Zoom

Camera Utils's logo
Camera Utils
by henkelmax

Additional features concerning the player's camera.

Versions
Logical Zoom's logo
Logical Zoom
by LogicalGeekBoy

Super simple zoom key for Minecraft.

Versions
Ok Zoomer's logo
Ok Zoomer
by EnnuiL

Adds a highly-configurable zoom key for Fabric. The zoom is yours!

Versions
Quick Spyglasser's logo
Quick Spyglasser
by Gluton

Adds a client-side keybind for using a spyglass anywhere in your inventory.

Versions
Zoomify's logo
Zoomify
by isXander

A rather simple zoom mod with moderate customizability.

Versions

Extras

The mods listed below are not part of the OptiFine alternatives directly but those are still nice to have.

No Dynamic FOV

As of 1.16.2 and above, this is now a vanilla feature under the accessibility settings. If you are playing in 1.16.2 or above, the mods for this feature are irrelevant.

These are client-only mods that prevent Minecraft from changing the FOV in all situations.

Compatibility

Sodium and Canvas Renderer are incompatible.

Some mods require the Fabric Renderer API to work, Canvas supports it, but Sodium will not support it by default, Indium is required to support it.

Missing

Need help?

If you need help about Sodium, Lithium, Phosphor (any of CaffeineMC's mod to be short), please check out CaffeineMC's discord server.

If you need help related to LambDynamicLights, LambdaBetterGrass, or Inspecio, if you don't want to post in the comments a suggestion you can check out my own discord server

Other lists