The LiChess Tools browser extension turbocharges lichess!
This extension adds a lot of functionalities to your Lichess web site. It has so many useful and powerful features! I am very proud of it. The extension is always going to be free, ad-free, donation links free, etc. Yet the only way for it to do what YOU want is feedback. Any feedback! Praise, curses, bug reports, feature requests, use stories, anything. The more you tell me, the more I can improve on this!
I have also written a different page that will function as a user manual, with all the details on features, preferences and what they mean.
If you are just interested in the list of features, in reversed chronological order, you might want to check out the history file.
Join the LiChess Tools user team to get updates as they come, ask for features, give feedback, tell your stories!
Help translate the extension in your language on Crowdin.
Other stuff:
- all features have been encapsulated in "tools" in the code
- ideas for the future can be found as issues on GitHub, where you can also put feature requests and bug reports
- the extension requires Chrome version 111 or higher or Firefox 130 or higher
And now back to what makes LiChess Tools great:
LiChess Tools (ver. 2.3.164) adds the following features to lichess:
- play ALL variations in Interactive lesson study chapters!
- computer is going to play a random move (configurable probability), so you don't need to create a chapter for every small variation
- PGN editor to merge, normalize, split, count, upload, download, copy PGNs.
- merge multiple PGNs in analysis import
- I merged 1000 PGNs with 25000 moves and it worked!
- automatically open/hide/convert to menu or button the Friends box at page load
- having the friends box as a menu/button item is really neat
- sound alert when one of your friends starts playing a game
- also reading the type of game, so you know if you even want to look at it
- now there is an option to mute this for individual players in the enhanced friends list
- ability to randomly play one of the next moves (with configurable probability in comments i.e. prc:66) with Ctrl-Right and go back with Ctrl-Left
- play against the Opening Explorer (either masters, lichess players or a specific player) in Analysis
- evaluation of Explorer moves, as well as telling you what move leads to gambits
- Missed Timeline posts or comments to posts you follow notification
- screen lock on mobiles while playing (scroll and zoom)
- find interesting/brilliant moves and allowing cycling through interesting/good/brilliant moves just like with blunders
- highlights for the last move of variations (special case for the ones that have no comment and do not end in checkmate) in the analysis/study board
- you immediately see not only where a variation starts, but also where it ends
- highlights for the transpositions to the current move in the analysis/study board
- you won't ever have to worry that you are analyzing the exact same variation but in a different order
- also you can now show all transposing positions in the PGN
- new shortcut for playing the next best computer move from Space to Ctrl-Space
- always annoyed me when I accidentally pressed the key
- a custom chess engine level
- if it is idle in a lower state, it runs until it gets to that level
- this is also used as the required engine level by the study context menu option of commenting all last moves with a computer evaluation
- custom chess engine options: never use cloud/tablebase, use engine in Practice mode
- sticky Interactive lesson Preview mode
- you can now play chapter after chapter without hassle
- use keyboard shortcuts (i, m, b, Alt-i, Alt-m, Alt-b) for inaccuracies, mistakes and blunders in all variations
- note that this is a native feature of lichess, but only in your game analyses and only the mainline moves
- added g and Alt-g to cycle between "positive" moves (good, brilliant and interesting)
- show player country flags next to their names
- if they have their country specified in the profile
- now you will see flags everywhere. It might break some stuff, so let me know.
- show the order of circles and arrows in a study/analysis.
- this is great when you want to understand the order of moves/hints
- option is off by default
- a new menu item to open the last viewed TV game
- show opening names in TV and mini games, as well as Analysis board and Studies
- many TV options:
- show history section in player TV (just like for category TV - the two latest games of the player)
- friends and streamers section in the Current Games tab
- link and bookmark the current TV game
- quick button to switch to your player and back in personal opening explorer
- copy to clipboard branch and continuations from a certain position in analysis/study
- you can now just pick a variation, copy it in its own chapter, with just a few clicks
- Shift/Ctrl/Alt change the way this item works
- available languages: English and Romanian
- ask for more! I will provide you with the English sentences and the context and you can tell me how it is in your language
- the options for the extension are in the lichess Preferences section
- complete integration. The extension popup has no functional role anymore
- this also means that I will be able to port this to other browsers with minimal effort. Ask if you want this!
- move options from transpositions to the current position
- the Extended Interactive Lessons and the Ctrl-Arrow functionalities are also able to choose moves following from this list, as well as the variation arrows
- automatically evaluate last moves in every variation and store it as a comment
- the engine level for the evaluation is the same as the custom chess engine level in Preferences
- buttons in the study chapter edit form to quickly set the title to the content of the Event or of the White/Black PGN tags
- set colors/styles to study comments
- note that these will only be visible to people having the extension installed
- study chapter navigation controls, including random chapter button (also with keyboard shortcut)
- auto save and button to reload PGNs in Analysis mode (recover from accidental reloads)
- now it automatically copies the last PGN in the PGN box, but you have to manually import it by pressing the button
- show all transpositions in the analysis/study move list
- hide the score tally while playing
- live friends page will update automatically and allow TV view, mute playing alerts and much more
- global switch to enable/disable extension
- ability to selectively remove artifacts (comments, shapes, glyphs and PGN tags) from the current study chapter
- custom chat buttons at beginning and end of play
- one button delete PGN tags
- draw arrows and circles on mobile devices (analysis and in-game)
- extra lines on the game analysis chart and local engine chart in analysis board
- menu entry to go to last opened Study
- study options: persist settings, create chapter after current, show chapter PGN as in Analysis
- move list options: indented variations shows all variations as tree branches, not inline, expanded move list uses all the space available for the analysis move list and hide left side hides the left side of the analysis window for even more space. Open in new window lets you see the move list in another window that you can move to another monitor. You can have the computer evaluation toggle back on the right side.
- bookmark study moves, which allows for collapse/expand variations, linking to position, highlight in the move list, getting the bookmark URL from a context menu and split the chapter from any bookmark.
- Option to not see cloud values in computer evaluation
- Wiki pages will now load in Analysis regardless of move order
- Variation arrows for transpositions
- Show pawn structure names in TV games, mini games, Analysis board and Studies
- Click on Explorer total row to get a random move
- Toggle between different Explorer lichess tab settings
- Custom mini-game size
- Play again from same position you entered Preview mode in
- Use Stockfish 16 on Brave browser
- Learn from your mistakes in study chapters
- Pin studies and broadcasts to home page, hide spoilers in broadcasts
- Community forum
- Freeze board keyboard shortcut in Analysis/Study
- Player lag chart next to player names during play
- Link to download all studies of a user
- Show profile chart time range dates in a label
- Outside board coordinates, even in Analysis/Study, and bigger font.
- Puzzle statistics in Profile
- Move assistant shows the evaluation of your selected piece legal moves
- Mirror button in Board Editor
- More decimals in computer eval
- auto unselect piece after a few seconds
- Study flairs
- Customize lobby page elements
- Explorer resize
- Custom sound options (just disable move sounds, keep the rest)
- Back to current position in correspondence
- Hide chat during play
- Broadcast OBS support
- Hide header shortcut
- Next move behavior for variations (like Chessbase)
- Autosave blog and/or button to manually save it and continue working
- Active tab icon to see when a game move is made on inactive tabs
- Keep screen active when watching TV
- Themes to improve piece grab mechanism and visuals for both 2D and 3D boards
- Fast interactive lesson moves
- Paste images in chat/forum
- No annoying chat warning about leaving Lichess
- URL/image detection and unlimited text size in the team/study chat
- one click moves in Analysis/Study
- show common teams of you and your opponent
- disable automatic collapsing of variations
- video support in studies (so you can create courses)
- external engines options
- daily chess quote
- copy puzzle PGN
- game list filtering and selection
- puzzle stats - chose your theme, replay failed puzzles, time interval slider
- /commands! Type /help to get a list
I couldn't wait to share it with you guys. I will be happy for any feedback, suggestions or help.
I've started a series of use case blog posts, they might show you how to use the extension in real life:
- Play the Elephant Gambit like Jonathan Schrantz
- How to learn and test any opening in hours with LiChess Tools browser extension
- Are you shy? You can grow at chess without actually playing anyone!
- Training your chess with the Move Assistant feature in "LiChess Tools"
- Using the PGN Editor feature of LiChess Tools
- LiChess Tools used for the Lichess Sharjah Masters 2024!
- My lichess blog
- Play the Busch-Gass gambit like Will Graif
- Play the Caro-Kann like Stjepan Tomic
- Play the Stafford Gambit like Eric Rosen
- Play the Scandinavian Defense like John Bartholomew
- Play the double fianchetto system like Oleksandr Bortnyk
- Play like Jerry ChessNetwork
- Play the Spanish game as Daniel Naroditsky
- Play the Orthoschnapp Gambit like Marco Riehle
- Play the Grünfeld Defense as Peter Svidler
- Play the Smith-Morra Gambit like Niclas Huschenbeth
- Play the Latvian Gambit like NM Nelson Lopez
- Play the Von Hennig gambit against the Caro-Kann like CM Kingscrusher
- Play the Van 't Kruijs opening like IM Kamran Shirazi
- Effortlessly reach 2000 ELO with a complete Zilbermintz gambit repertoire
- Brilliant/good/best move detection on lichess.org!
- Accuracy should be shown by Lichess natively
- All the gambits ranked by Lichess Explorer statistics
- Creating an interactive lesson from your favorite player in minutes
- The costliest move in chess
- How to train against your worst mistakes using LiChess Tools
- LiChess Tools local file support!
- A better way to visualize puzzles and improve
- Dsoul20's amazing list of opening studies
Here are some screenshots, but they don't really tell you the story. You just have to try it.
Good luck using my extension. I am sure I am going to be tinkering with it a bit. Let me know of any problems you have with it.
Other ideas
For readability sake, I've removed all the old ideas from here and moved all of the new ones as GitHub issues. You can go there and add your own!
Q&A
Q: Can you publish your extension code on GitHub?
A: Yes, I did. I could. Probably I will be starting with version 2, which will be a rewrite of a version 1 that has been in use for a while and that people have given me feedback for. As much as I like sharing my code, I really don't want to have to deal with all the GitHub complications right now.
Q: I looked at your code and it sucks balls!
A: That's not a question. And I agree. But right now I am focusing on features, not quality control.
Q: How do we contact you with new ideas, bug reports and general roasting of your coding skills?
A: This is my personal blog and on the top-right of the page you can see a lot of links to various methods of direct communication with me. Comment here, use Discord, chat on Lichess with TotalNoob69, use the GitHub project. Any of these are perfectly acceptable.
Q: I am addicted to LiChess Tools and I am afraid later on you will fill it with ads, premium features and EULAs that allow you to remove my kidneys. Can you address my fear?
A: Like everything on this blog, it will always remain free. And not free as in "until someone else buys it" or free as in "watch videos and it's free" or free as in "I will fill your screen with junk", but completely utterly free. Like LiChess, I guess. Also, it doesn't connect to any external services or capture any user data. For now! Muhahahaha! Later on it might need some external services for extra features that you ask for, but I hope it won't have to.
Q: There are so many options that my brain hurts. And every time you add something new, my Lichess experience changes. I don't like this!
A: I am currently considering building a wizard that will adapt to your usage of Lichess and ask questions that will customize the extension for you. But in the meanwhile, on the bottom of the Preferences page there is a button that can turn every feature off. Then you can opt in to any feature you want.
Q: How long did it take you to write this?
A: Mostly a week. Following the 80/20 rule, now I have to work at least one more month to make it good. In the end it probably took two months to start and I am still tinkering, but I can only work on it when I get the time. This has been published since the 10th of May 2023 and I am still adding or fixing or changing things. For the cause!
Q: You should write a tutorial on how to use it. Could you make a video of it?
A: I am not a video person. I hope that this post can convey the basic ways in which to use the extension and that the extension itself can be used without the need of a tutorial. Let's work together to make this clear and easy to use for everyone instead. Also, there is now the user manual page. However, I am not adverse to someone who knows how making videos to make some about LiChess Tools. In fact, that would be absolutely amazing!
Q: Your Extended Interactive Lesson feature is all I had ever wanted from life! But when I am editing the study, I get the same interface as normal studies. Can you fix it?
A: Some parts of LiChess are easy to change, some not so much. Anything related to rendering is a mess to hook to. Additionally, I wouldn't want to have studies that can only be edited and used with my extension. There is a move context menu that allows setting the "explain why any other move is wrong" now. Also you can collapse the controls now, so they don't bother you at least.
Q: So how do I mark the good branches from the bad variations in Extended Interactive Lessons?
A: Any move that is not in the study will be bad. As for the branches that you want to explore specifically, use the annotations (Mistake, Blunder, Brilliant Move, etc) and comments. You can even explore the bad branches in Preview mode this way and learn why they would be bad.
Q: Can you add features to show me what moves to make while playing?
A: LiChess Tools is not a cheating tool. However I try to add as many tools as possible to help you analyze your games after you've played them.
Q: But can you add some features that don't involve cheating for the games that I am playing/watching?
A: Most of the features of LiChess Tools are analysis oriented because analysis is much better exposed than the game code. Because there are a lot of private variables that are not made accessible, it's difficult to selectively change parts of the game interface and any features would have to brutally copy paste and replace some legitimate code bits. I am afraid that until that changes on LiChess, I will not touch that part, mostly because that means I would have to keep score on what they change on the web site and update my extension accordingly. Also, there are some guidelines that expect one to not change the playing interface at all. It makes sense, as any edge LiChess Tools might provide to a player could be construed as cheating.
Q: How about changing the way LiChess looks?
A: I am not a good visual designer, nor do I do a lot of work on web frontend. There are some extensions that are doing that (like Prettier Lichess, which I used myself), and perhaps you should ask those people for help instead. Also, I am avoiding as much as possible changes to the visual elements of the website specifically because it might interfere with some such extension or custom CSS tool. BTW, if you are working on something like that and find LiChess Tools is interfering with your stuff, let me know. We can figure things out. In v2.0.14 a new Themes tool has been added. I can publish CSS themes this way, but I don't intend to maintain them myself. If you want to see your theme there, contact me.
Q: OK, you're my new hero. How can I help?
A: Contact me and let's talk. I despise doing anything UI design related, as evidenced by this blog and the extension popup, so maybe you can help there. You can help with algorithms to analyze games better or find useful information from the tidbits that Lichess exposes. Anything, really, just as long as it's fun for you.
Q: Yeah, but I can't code. How can I help?
A: Help me by making this extension known. I don't want "marketing", just spread the word. Let people know and if they like it, they will use it. Can't use it if they don't know about it, though, and I am always afraid people think I am spamming them when I try to advertise my work. Make this famous, is it too much to ask?
Q: I use LiChess in my own language and the new features are jarring in English
A: The only languages I personally support are English and Romanian. Other languages are supported via Crowdin. Unfortunately, Crowdin has a limit of words that can be translated for free, so that limits the number of languages available to about 10 more. I configured the ones that are used most or have the most potential in terms of active speakers on the Internet. You can help translate there, because for each of those languages I started with the default machine translation which I am pretty sure sucks.
Q: Chrome sucks! Microsoft sold out! I hate Firefox! Can you make this work for my favorite browser?
A: Short answer: no. Long answer: I want to help people, so the more the merrier, but I also don't have a lot of resources to maintain code on a browser I don't use. Safari is a mess and extensions on it require to have a tool that only works on Macs and they ask you for money. Firefox has less than 5% of the market and refuses to implement the feature that makes LiChess Tools work. Firefox is supported now. Opera already supports Chrome extensions. To be honest, it is not reasonable for me to bother with anything but what is supported now. So long answer is also no :)
A: That's not my bug, it comes from LiChess. They have bugs, too.
Q: How could you possibly have answered before I asked the question?
Q: Did you actually think people were going to read this far down?
A: No.
Q: I told about this to all my friends, I came with feedback and constructive criticism and it feels like you ignored me. What gives?
A: For sure I want to take everything into consideration and act on requests as fast as possible, but it might be that I am caught up with something else. I thoroughly intend to give you and the extension as much attention as possible, so maybe make sure I got your message, first.
Hope it helps!