CDL Help
CDL Practice Tests
Free · In-App Purchases · Designed for iPad. Not verified for macOS.
CDL Practice Test — CDL Help
Pass your CDL exam on the first try.
CDL Help is #1 CDL practice test app for Class A and Class B Commercial Driver’s License preparation. Study 1000+ real-style questions offline, in 10 languages, with detailed explanations for every answer.
PRACTICE TESTS INCLUDED
Core CDL Tests:
• General Knowledge — Vehicle rules, safe driving, cargo handling, vehicle inspection. Required for all CDL applicants.
• Combination Vehicles — Coupling/uncoupling, rollover prevention, combination vehicle inspection. Required for Class A.
• Air Brakes — System components, dual air brakes, inspections, proper usage.
Endorsement Tests:
• HazMat (H) — Hazardous materials handling, placarding, and emergency response.
• Tanker (N) — Safe loading/unloading, surge effects, and tanker driving techniques.
• Doubles & Triples (T) — Multi-trailer coupling, safe driving, and inspection.
Bonus: Pre-Trip Inspection guide with detailed walkaround procedures.
SMART STUDY FEATURES
• Express Mode (key questions) or Full Mode (all questions)
• Flashcards for quick review and repetition
• Reading Mode to study chapter by chapter
• Text-to-Speech — hear questions read aloud to practice listening comprehension
• Bookmark questions for later review
• Frequently Missed — automatically tracks your weak spots
• Shuffle mode to test true understanding
• Set Your Exam Date — daily study goals with countdown
• Weekly and daily stats — questions answered, accuracy, study time
• Category breakdown — see exactly where you need more practice
• State-specific CDL information for all 50 states
• Detailed explanations based on federal FMCSA regulations
LEARN CDL + LEARN ENGLISH — AT THE SAME TIME
Starting in 2026, FMCSA requires all CDL exams to be taken in English only. Roadside inspectors now enforce English proficiency under 49 CFR 391.11 — over 13,000 drivers have already been placed out of service for failing the two-step ELP assessment.
CDL Help is built for this new reality. Every question displays in English alongside your native language — so you learn CDL regulations and build English proficiency together. Toggle between languages with one tap to understand every term, every sign, and every rule — the same way you'll need to on the road.
This isn’t just about passing a test. It’s about keeping our roads safer. When you can read highway signs, communicate with inspectors, respond in emergencies, and complete reports in English — you protect yourself, your CDL, and everyone sharing the road.
Supported languages: English, Spanish, Russian, Chinese, Arabic, Portuguese, Korean, Turkish, Ukrainian, Uzbek.
Start today — download CDL Help and earn your CDL with confidence.
Terms of Use: https://www.cdlhelp.com/terms-conditions
Privacy Policy: https://www.cdlhelp.com/privacy-policy
more This update includes bug fixes and performance improvements for a smoother experience.
3.1.31 2 days ago
This update fixes a bug that could cause the app to close immediately when you opened it after updating. If the app wouldn't open, this resolves it. Thank you for your patience — and happy studying!
3.1.29 3 days ago
This update includes bug fixes and performance improvements for a smoother experience.
3.1.28 6 days ago
This update includes bug fixes and performance improvements for a smoother experience.
3.1.27 5 Jun
This update includes bug fixes and performance improvements for a smoother experience.
3.1.26 3 Jun
This update improves the translation feature during tests and includes bug fixes for a smoother experience.
3.1.25 2 Jun
Bug fixes and performance improvements.
3.1.24 2 Jun
Bug fixes and performance improvements.
3.1.22 1 Jun
- Quiz content fixes (questions and answers)
- Corrected translations to remove duplicates that could cause answers to “shift” into the wrong position
- Removed 10 incorrect duplicate answers that matched the correct answer text
- Added missing/replacement third answer options for 6 questions across all supported languages
3.1.21 30 May
- Quiz content fixes (questions and answers)
- Corrected translations to remove duplicates that could cause answers to “shift” into the wrong position
- Removed 10 incorrect duplicate answers that matched the correct answer text
- Added missing/replacement third answer options for 6 questions across all supported languages
3.1.19 21 May
- Quiz content fixes (questions and answers)
- Corrected translations to remove duplicates that could cause answers to “shift” into the wrong position
- Removed 10 incorrect duplicate answers that matched the correct answer text
- Added missing/replacement third answer options for 6 questions across all supported languages
3.1.17 12 May
- Quiz content fixes (questions and answers)
- Corrected translations to remove duplicates that could cause answers to “shift” into the wrong position
- Removed 10 incorrect duplicate answers that matched the correct answer text
- Added missing/replacement third answer options for 6 questions across all supported languages
- More reliable quiz progress, completion, and bookmarks
- Fixed cases where quiz progress wasn’t saved properly
- Bookmarking a question now updates instantly without reloading the entire quiz
- Starting a new attempt no longer resets or overwrites your completion status
- Resolved multiple quiz-screen glitches, including lost translations, unexpected question re-ordering, and jumping to the wrong spot in the mistakes section
- Improved final test availability and question selection
- Final tests are now available in more categories (requirements relaxed)
- The final test card now shows the actual number of questions you’ll receive (e.g., 50 or 30), not the total question pool size
- Final test questions are now de-duplicated, shuffled, and capped at:
- 50 questions for general tests
- 30 questions for endorsements
- Favorites now check login status more accurately
- Clearer connection status messaging
- The “Connection lost” banner now appears only after a real connection drops (no more banner on stale/expired sessions)
- Expired guest sessions are reset automatically to prevent getting stuck in a “reconnecting” state
- Guest error reporting now works end-to-end
- Submitting “Found an error?” as a guest now reliably sends the report instead of losing it
- Support escalation fix
- Escalation now uses the correct API endpoint (instead of sending a text message), preventing automated reply loops and correctly marking the conversation as waiting for staff
- Small iOS UI change
- The iOS status bar is now hidden
3.1.16 10 May
- Quiz content fixes (questions and answers)
- Corrected translations to remove duplicates that could cause answers to “shift” into the wrong position
- Removed 10 incorrect duplicate answers that matched the correct answer text
- Added missing/replacement third answer options for 6 questions across all supported languages
- More reliable quiz progress, completion, and bookmarks
- Fixed cases where quiz progress wasn’t saved properly
- Bookmarking a question now updates instantly without reloading the entire quiz
- Starting a new attempt no longer resets or overwrites your completion status
- Resolved multiple quiz-screen glitches, including lost translations, unexpected question re-ordering, and jumping to the wrong spot in the mistakes section
- Improved final test availability and question selection
- Final tests are now available in more categories (requirements relaxed)
- The final test card now shows the actual number of questions you’ll receive (e.g., 50 or 30), not the total question pool size
- Final test questions are now de-duplicated, shuffled, and capped at:
- 50 questions for general tests
- 30 questions for endorsements
- Favorites now check login status more accurately
- Clearer connection status messaging
- The “Connection lost” banner now appears only after a real connection drops (no more banner on stale/expired sessions)
- Expired guest sessions are reset automatically to prevent getting stuck in a “reconnecting” state
- Guest error reporting now works end-to-end
- Submitting “Found an error?” as a guest now reliably sends the report instead of losing it
- Support escalation fix
- Escalation now uses the correct API endpoint (instead of sending a text message), preventing automated reply loops and correctly marking the conversation as waiting for staff
- Small iOS UI change
- The iOS status bar is now hidden
3.1.15 9 May
- Quiz content fixes (questions and answers)
- Corrected translations to remove duplicates that could cause answers to “shift” into the wrong position
- Removed 10 incorrect duplicate answers that matched the correct answer text
- Added missing/replacement third answer options for 6 questions across all supported languages
- More reliable quiz progress, completion, and bookmarks
- Fixed cases where quiz progress wasn’t saved properly
- Bookmarking a question now updates instantly without reloading the entire quiz
- Starting a new attempt no longer resets or overwrites your completion status
- Resolved multiple quiz-screen glitches, including lost translations, unexpected question re-ordering, and jumping to the wrong spot in the mistakes section
- Improved final test availability and question selection
- Final tests are now available in more categories (requirements relaxed)
- The final test card now shows the actual number of questions you’ll receive (e.g., 50 or 30), not the total question pool size
- Final test questions are now de-duplicated, shuffled, and capped at:
- 50 questions for general tests
- 30 questions for endorsements
- Favorites now check login status more accurately
- Clearer connection status messaging
- The “Connection lost” banner now appears only after a real connection drops (no more banner on stale/expired sessions)
- Expired guest sessions are reset automatically to prevent getting stuck in a “reconnecting” state
- Guest error reporting now works end-to-end
- Submitting “Found an error?” as a guest now reliably sends the report instead of losing it
- Support escalation fix
- Escalation now uses the correct API endpoint (instead of sending a text message), preventing automated reply loops and correctly marking the conversation as waiting for staff
- Small iOS UI change
- The iOS status bar is now hidden
3.1.14 7 May
- Quiz content fixes (questions and answers)
- Corrected translations to remove duplicates that could cause answers to “shift” into the wrong position
- Removed 10 incorrect duplicate answers that matched the correct answer text
- Added missing/replacement third answer options for 6 questions across all supported languages
- More reliable quiz progress, completion, and bookmarks
- Fixed cases where quiz progress wasn’t saved properly
- Bookmarking a question now updates instantly without reloading the entire quiz
- Starting a new attempt no longer resets or overwrites your completion status
- Resolved multiple quiz-screen glitches, including lost translations, unexpected question re-ordering, and jumping to the wrong spot in the mistakes section
- Improved final test availability and question selection
- Final tests are now available in more categories (requirements relaxed)
- The final test card now shows the actual number of questions you’ll receive (e.g., 50 or 30), not the total question pool size
- Final test questions are now de-duplicated, shuffled, and capped at:
- 50 questions for general tests
- 30 questions for endorsements
- Favorites now check login status more accurately
- Clearer connection status messaging
- The “Connection lost” banner now appears only after a real connection drops (no more banner on stale/expired sessions)
- Expired guest sessions are reset automatically to prevent getting stuck in a “reconnecting” state
- Guest error reporting now works end-to-end
- Submitting “Found an error?” as a guest now reliably sends the report instead of losing it
- Support escalation fix
- Escalation now uses the correct API endpoint (instead of sending a text message), preventing automated reply loops and correctly marking the conversation as waiting for staff
- Small iOS UI change
- The iOS status bar is now hidden
3.1.13 4 May
- Quiz content fixes (questions and answers)
- Corrected translations to remove duplicates that could cause answers to “shift” into the wrong position
- Removed 10 incorrect duplicate answers that matched the correct answer text
- Added missing/replacement third answer options for 6 questions across all supported languages
- More reliable quiz progress, completion, and bookmarks
- Fixed cases where quiz progress wasn’t saved properly
- Bookmarking a question now updates instantly without reloading the entire quiz
- Starting a new attempt no longer resets or overwrites your completion status
- Resolved multiple quiz-screen glitches, including lost translations, unexpected question re-ordering, and jumping to the wrong spot in the mistakes section
- Improved final test availability and question selection
- Final tests are now available in more categories (requirements relaxed)
- The final test card now shows the actual number of questions you’ll receive (e.g., 50 or 30), not the total question pool size
- Final test questions are now de-duplicated, shuffled, and capped at:
- 50 questions for general tests
- 30 questions for endorsements
- Favorites now check login status more accurately
- Clearer connection status messaging
- The “Connection lost” banner now appears only after a real connection drops (no more banner on stale/expired sessions)
- Expired guest sessions are reset automatically to prevent getting stuck in a “reconnecting” state
- Guest error reporting now works end-to-end
- Submitting “Found an error?” as a guest now reliably sends the report instead of losing it
- Support escalation fix
- Escalation now uses the correct API endpoint (instead of sending a text message), preventing automated reply loops and correctly marking the conversation as waiting for staff
- Small iOS UI change
- The iOS status bar is now hidden
3.1.12 3 May
- Quiz content fixes (questions and answers)
- Corrected translations to remove duplicates that could cause answers to “shift” into the wrong position
- Removed 10 incorrect duplicate answers that matched the correct answer text
- Added missing/replacement third answer options for 6 questions across all supported languages
- More reliable quiz progress, completion, and bookmarks
- Fixed cases where quiz progress wasn’t saved properly
- Bookmarking a question now updates instantly without reloading the entire quiz
- Starting a new attempt no longer resets or overwrites your completion status
- Resolved multiple quiz-screen glitches, including lost translations, unexpected question re-ordering, and jumping to the wrong spot in the mistakes section
- Improved final test availability and question selection
- Final tests are now available in more categories (requirements relaxed)
- The final test card now shows the actual number of questions you’ll receive (e.g., 50 or 30), not the total question pool size
- Final test questions are now de-duplicated, shuffled, and capped at:
- 50 questions for general tests
- 30 questions for endorsements
- Favorites now check login status more accurately
- Clearer connection status messaging
- The “Connection lost” banner now appears only after a real connection drops (no more banner on stale/expired sessions)
- Expired guest sessions are reset automatically to prevent getting stuck in a “reconnecting” state
- Guest error reporting now works end-to-end
- Submitting “Found an error?” as a guest now reliably sends the report instead of losing it
- Support escalation fix
- Escalation now uses the correct API endpoint (instead of sending a text message), preventing automated reply loops and correctly marking the conversation as waiting for staff
- Small iOS UI change
- The iOS status bar is now hidden
3.1.11 30 Apr
- Fixed a startup issue that could prevent the app from launching correctly
- Added a missing setup/import required during app initialization
- Improved translations and language support across the app
- Translated multiple previously English-only messages in the “pre-exam weak spots” sheet
- Ensured the splash screen tagline is properly translated in all supported languages
- Updated date and month formatting to match your selected language (instead of always showing English month names)
- Resolved layout issues on phones
- Removed a duplicated bottom menu/footer on several main screens that could cause a “double footer”
- Made quiz progress saving more reliable
- Fixed a bug where progress could fail to save because the app didn’t wait for the save process to complete
- Prevented a potential crash in the quiz catalog
- Added safeguards for cases where the quiz categories list is empty
3.1.9 29 Apr
- Fixed a startup issue that could prevent the app from launching correctly
- Added a missing setup/import required during app initialization
- Improved translations and language support across the app
- Translated multiple previously English-only messages in the “pre-exam weak spots” sheet
- Ensured the splash screen tagline is properly translated in all supported languages
- Updated date and month formatting to match your selected language (instead of always showing English month names)
- Resolved layout issues on phones
- Removed a duplicated bottom menu/footer on several main screens that could cause a “double footer”
- Made quiz progress saving more reliable
- Fixed a bug where progress could fail to save because the app didn’t wait for the save process to complete
- Prevented a potential crash in the quiz catalog
- Added safeguards for cases where the quiz categories list is empty
3.1.8 27 Apr
- Fixed a startup issue that could prevent the app from launching correctly
- Added a missing setup/import required during app initialization
- Improved translations and language support across the app
- Translated multiple previously English-only messages in the “pre-exam weak spots” sheet
- Ensured the splash screen tagline is properly translated in all supported languages
- Updated date and month formatting to match your selected language (instead of always showing English month names)
- Resolved layout issues on phones
- Removed a duplicated bottom menu/footer on several main screens that could cause a “double footer”
- Made quiz progress saving more reliable
- Fixed a bug where progress could fail to save because the app didn’t wait for the save process to complete
- Prevented a potential crash in the quiz catalog
- Added safeguards for cases where the quiz categories list is empty
3.1.7 26 Apr
• New in-app Support Chat
- Added a chat button on the home screen, including an unread-message badge
- Real-time chat updates so new messages appear without manual refresh
- Send and view images in chat (pick from your gallery, view thumbnails, and see a clear “image unavailable” message if something goes wrong)
• Improved “Help & Support” experience
- Redesigned Help/FAQ into a cleaner Help & Support hub focused on live chat
- Added self-service “How to use the app” links, with email as a backup contact option (Telegram support removed)
- New “chat is currently closed” screen with:
- chat hours/availability details
- links to helpful articles
- email contact option
- read-only access to past conversations if you’ve chatted before
• Better chat onboarding (especially for guests)
- Redesigned the guest chat form with a clearer header and suggested topics to help route your question
- Improved layout on small screens (better scrolling) and refined input field styling
- If you’re signed in, the app now skips the guest form and uses your account name/email to start chatting faster
• Clearer “talk to a person” flow
- Added an obvious “Talk to a person” button after certain bot answers
- Added a 3-minute “connecting you” countdown after requesting an agent
- If no agent joins in time, you’ll see a messenger-style note explaining you can leave a message and the team will reply later
- Improved detection of when an agent joins, with clearer system messages
- While waiting, you’re prompted to describe your issue so an agent can help faster
• More consistent, localized chat (10 languages)
- Fully localized chat labels, buttons, and system messages (removed remaining hardcoded English)
- Bot conversations and escalation requests now follow your device language
- Updated wording to be warmer and clearer, and standardized the bot name to “CDL Help”
- Fixed translation wording issues, including Russian UI phrasing
• Chat reliability and smoother navigation
- Reduced flicker when opening chat (less flashing/spinning, smoother jump to latest messages)
- Improved reliability of bot replies with a fallback check when the real-time connection isn’t ready
- Added extra context when starting chats (platform and device language) to improve support responses
- Updated project dependencies
• Quiz reporting now goes through Support Chat
- Reporting a quiz question issue now opens chat and sends the report there (instead of email/separate submission)
- Quiz reports appear as a structured card in chat for easier review and follow-up
- “Not satisfied” feedback is now sent quietly to support via chat (not posted into your visible chat history)
- In-chat review prompts are now shown as tappable cards with a direct App Store link
• Quiz progress display fixes
- Fixed issues that could show incorrect progress after switching states or changing between Express and Full modes
- Prevented progress bars from overflowing or showing negative/incorrect remaining counts in some smart quiz mixes
• Quiz content and reporting accuracy fixes
- Fixed a bug where some quiz reports sent empty answer lists
- Ensured updated quiz content refreshes correctly after app updates (no longer stuck on an older cached version)
- Improved database migration error logging for easier issue detection
- Corrected multiple quiz database/translation issues (Portuguese, Korean, Turkish, Russian), including cases that could invert the meaning of safety-related answers
3.1.6 25 Apr
- Better experience on tablets
- Updated the tablet layout: navigation moves from a bottom bar to a left-side menu for easier browsing.
- Improved sizing on larger screens so pages and pop-ups don’t stretch too wide and remain comfortable to read.
- Refined how text, icons, and spacing scale across different device sizes.
- Better support for iPhone/iPad app lifecycle behavior to reduce system warnings and rare edge cases.
- New premium learning and test-prep tools
- New “Review Mistakes” quiz mode that focuses practice on questions you often miss.
- New “Smart Quiz Mix” option (off by default) that blends missed questions into regular practice automatically.
- Added smart re-testing with mastery tracking: a topic is marked mastered after 3 correct answers in a row.
- Added a pre-exam “weak spots” summary before exam simulations.
- Added an accuracy trend view on results, with topic-by-topic breakdowns.
- Review/rating prompts (less annoying, more controlled)
- Added an automatic rating prompt after you pass a quiz (shown shortly after results).
- Detects your first-ever pass and skips extra engagement steps.
- Added a review prompt on the congratulations screen with strict limits.
- Set review prompt cooldowns to 10 days.
- Bug fixes and reliability improvements
- Fixed crashes when leaving certain screens (including reading and flashcards).
- Fixed settings items that sometimes didn’t respond to taps.
- Fixed quiz report issues (incorrect flags, “0 seconds” answers, missing images, and translation problems).
- Cleaned up Android 15 and iOS system warnings.
3.1.4 15 Apr
- Language & translations
- Fixed issues that could force the app into the wrong language, improving language selection and translation consistency.
- Flashcards & reading
- Fixed a bug where using bookmarks could unexpectedly jump you back to the first card.
- Removed non-working “More” menu buttons from flashcards and reading screens to reduce confusion and clutter.
- Quizzes & exams
- Fixed an exam countdown timer issue where timers could overlap by canceling the previous countdown before starting a new one.
- Improved completion tracking so the app no longer logs a “test abandoned” event after you’ve actually finished the entire quiz.
- Added stronger error logging when images fail to load in quizzes and flashcards to help diagnose image display problems.
- Links & safety checks
- Added rate limiting for the “Rate the app” link to prevent it from being triggered too frequently.
- Data update
- Updated the database to improve how question image paths are stored and handled for more reliable image loading.
3.1.2 20 Mar
- New notification controls
- Added a Notification Preferences screen so you can choose which notifications you want to receive.
- Improved push notification handling for better reliability and more consistent delivery.
- Fixed an issue where notification subscriptions didn’t always update correctly after changing the app language.
- Language and locale improvements
- Added a dedicated service to manage language/region changes more cleanly, improving consistency across the app.
- Subscriptions and paywall updates
- Refined the paywall layout and flow for a smoother subscription experience.
- UI and screen polish
- Updated and refined the splash screen.
- Improved the congratulations screen.
- Polished the quiz screen for better usability and visual consistency.
- Analytics and ads changes
- Updated our analytics service to improve tracking accuracy and stability.
- Removed ads configuration from the project.
3.1.1 18 Mar
• Images in quizzes & flashcards
- Questions can now include images in both quizzes and flashcards
- Quiz screens display the image above the question text for easier scanning
- Fixed an issue where flashcards could look for images in the wrong location
- Added an in-app image library (asset folder) with initial question images
- Updated bundled content so new images and questions ship with the app
• Richer, clearer push notifications
- iOS now supports rich push notifications (e.g., notifications that can include images)
- Improved wording and translations for notification and preference settings
- Added “Quiet Hours” to notification settings
• More reliable notifications & link handling
- Improved notification registration/re-registration (especially after login or sign-up)
- Smoother permission flow on iOS, including provisional/quiet options when supported
- If you skip enabling notifications, the app may ask again later with sensible limits (cooldowns, waits a few days, no endless prompts)
- Removed older on-device exam reminder scheduling (reminders are now handled by the server)
- More reliable preference syncing (retries and reduced chance of overwriting recent changes)
- Standardized deep link handling so links open more consistently
• Subscription, sign-up & general improvements
- Updated subscription/paywall screen layout
- Added a new sign-up endpoint to support improved account creation flows
- Enhanced analytics/event tracking to better understand feature usage
- Improved error reporting for quiz-related issues
• Under-the-hood updates
- Updated data exports and dependency/config files to support these improvements
3.1.0 13 Mar
This update includes bug fixes and performance improvements for a smoother experience.
more Version 3.1.31 2 days ago
Data Used to Track You The following data may be used to track you across apps and websites owned by other companies:
Purchases Location Identifiers Usage Data Data Linked to You The following data may be collected and linked to your identity:
Purchases Location Contact Info User Content Identifiers Usage Data Data Not Linked to You The following data may be collected but it is not linked to your identity: