You have to choose what kind of analysis you want to do :
1- Over Representation Analysis: (ORA )It is a widely used method to know whether genes in biological pathways are over-represented (enriched) in your list. Your list may come from differential expression analysis.
There are a lot of web-tools and also R package you choose for this kind of analysis. As far as I know DAVID, the last update was in 2016. I am still a fan of this tool, but at the same time, other tools like what has been mentioned above should work fine.
2- Gene Set Enrichment Analysis: (GSEA) , it was developed by Broad Institute. This is the preferred method when genes are coming from an expression experiment like microarray and RNA-seq. However, the original methodology was designed to work on microarray but later modification made it suitable for RNA-seq also. In this approach, you need to rank your genes based on a statistic (like what DESeq2 provide), and then perform enrichment analysis against different pathways (= gene set). You have download the gene set file.
The point is that here the algorithm will use all genes you have in the ranked list for enrichment analysis [in contrast to ORA where only genes passed a specific threshold (like DE ones) would be used for enrichment analysis]. You can find more details about the methodology on the original PNAS paper, here is a summary of why one should use this approach instead of ORA:
1- After correcting for multiple hypotheses testing, no individual gene may meet the threshold for statistical significance.
2- On the other hand, one may be left with a long list of statistically significant genes without any unifying biological theme.
3- Cellular processes often affect sets of genes acting in concert, using ORA may lead to miss important effects on pathways.
GSEA software maybe finds on its homepage. However, there are some Bioconductor packages which use a similar approach to do GSEA, I like to use this one : fgsea